64位Windows系统如何配置32位ODBC数据源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了64位Windows系统如何配置32位ODBC数据源相关的知识,希望对你有一定的参考价值。
在64位Windows系统中,默认数据源(ODBC)是64位的,包括控制面板-》管理工具-》数据源 或在运行中直接运行ODBCAD32程序。如果客户端是32位应用程序,仍然需要配置32位ODBC数据源,这时需要运行C:\\Windows\\SysWOW64\\odbcad32.exe来启动ODBC数据源管理器,添加32位的ODBC数据源。
64位操作系统
64位操作系统是指特别为64位架构计算机系统而设计的操作系统。64位操作系统的优点,在于能够利用64位处理器的优势,在处理多媒体内容时能够有更佳的表现。
1简介
在计算机架构中,64位整数、内存地址或其他数据单元,是指它们最高达到64位(8字节)宽。此外,64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。 64 位CPU在1960年代,便已存在于超级计算机,且早在1990年代,就有以 RISC 为基础的工作站和服务器。2003年才以 x86-64 和 64 位 PowerPC 处理器架构的形式引入到(在此之前是 32 位)个人计算机领域的主流。
2概述
64位操作系统是指特别为64位架构计算机系统而设计的操作系统。
64位操作系统最早在中小型计算机上实现,主要是一些Unix系统。此后英特尔和惠普公司合作研制的IA-6464位处理器(代号 Itanium 2)推出后,出现了此平台上的64位Linux及微软Windows操作系统(即基于IA-64的Windows XP 64位版本)。之后AMD推出了64位的X86-64架构CPU,很快就在Linux平台得到支持,并且微软也提供了64位版本的Windows XP操作系统(全称Windows XP Professional x64),使得IA-64位处理器日渐势微。最终英特尔决定推出与AMD之前推出的AMD64兼容的64位CPU,称为Intel 64。苹果切换到英特尔平台后也开始开发64位操作系统。早期的解决方案十分古怪:如Tiger和Leopard以32位系统为核心,支持程序以64位模式运行,导致实际执行效率并不高。而后期的系统趋于完善,如Snow Leopard和更新的系统本身已于64位模式运行,可运行64位程序,也可以用兼容模式运行32位程序。
一个 64 位的 CPU,内部可能有外部数据总线或不同大小的地址总线,可能比较大或比较小;术语“64位”也常用于描述这些总线的大小。例如,目前有许多机器有着使用 64 位总线的 32 位处理器(如最初的 Pentium 和之后的 CPU),因此有时会被称作“64位”。同样的,某些 16 位处理器(如 MC68000,摩托罗拉公司生产的一款16位处理器,因集成约68000个晶体管而得名)指的是 16/32 位处理器具有 16 位的总线,不过内部也有一些 32 位的性能。这一术语也可能指计算机指令集的指令长度,或其它的数据项(如常见的 64 位双精度浮点数)。去掉进一步的条件,“64位”计算机架构一般具有 64 位宽的整数型寄存器,它可支持(内部和外部两者) 64 位“区块”(chunk)的整数型数据。
3内存限制
目前大部分的 CPU(截至2005 年),其单个寄存器可存放虚拟内存中任意数据的内存地址(本机)。因此,虚拟内存(计算机在程序的工作区域中所能保留的数据总量)中可用的地址取决于寄存器的宽度。自 1960 年的 IBM System/360 起,然后1970年的 DEC VAX微型计算机,以及1980年中期的 Intel 80386,在事实上一致开发合用的 32 位大小的寄存器。32 位寄存器意味着 2^32 的地址,或可使用 4 GB 的内存。当时在设计这些架构时,4 GB 的内存远远超过一般所安装的可用量,而认为已足够用于寻址。认为 4 GB 地址为合适的大小,还有其它重要的理由︰在应用程序中,如数据库,42 亿多的整数已足够对大部分可计算的实例分配唯一的参考引用。
然而在 1990年初,成本不断降低的内存,使安装的内存数量逼近 4 GB,且在处理某些类型的问题时,可以想像虚拟内存的使用空间将超过 4 GB 上限。为此,一些公司开始释出新的 64 位架构芯片家族,最初是提供给超级计算机、顶级工作站和服务器机器。64位运算逐渐流向个人计算机则出现在 2003 年,某些型号的 Apple Macintosh生产线转向 PowerPC 970 处理器(Apple 称为“G5”),并在 2006 年,转向 EM64T 处理器,且 x86-64 处理器在顶级的 PC 中遂渐普及。64 位架构的出现,有效的将内存上限提升至 2^64 地址,16 EB 的内存。从这个角度来看,在 4 MB 主内存很普遍时,最大的内存上限 2^32 的地址大约是一般安装内存的 1000 倍。如今,当 1 GB 的主内存很普遍时,2^64 的地址上限大约是 1 百亿倍。
今天市面上大部分的消费级 PC 存在着人为的内存限制,因受限于实例上的限制,而几乎不太可能需要完整支持 16 EB 容量。举例来说,Apple的 Mac Pro 最多可安装实例内存至 16 GB,而无必要支持超过的大小。最新的Linux内核(版本 2.6.16)可编译成最高支持 64 GB 的内存,Windows VistaUltimate支持超过128G内存。
4处理器
这里的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非现在才有的,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64bit处理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。
64bit计算主要有两大优点:可以进行更大范围的整数运算;可以支持更大的内存。不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍。要认清64bit处理器的优势,不可迷信64bit。
目前主流CPU使用的64位技术主要有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容现在的传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium 2,一般用户不会涉及到,因此这里仅对AMD64位技术和Intel的EM64T技术做一下简单介绍。
AMD64位技术
AMD64的位技术是在原始32位X86指令集的基础上加入了X86-64扩展64位X86指令集,使这款芯片在硬件上兼容原来的32位X86软件,并同时支持X86-64的扩展64位计算,使得这款芯片成为真正的64位X86芯片。这是一个真正的64位的标准,X86-64具有64位的寻址能力。
X86-64新增的几组CPU寄存器将提供更快的执行效率。寄存器是CPU内部用来创建和储存CPU运算结果和其它运算结果的地方。标准的32-bit x86架构包括8个通用寄存器(GPR),AMD在X86-64中又增加了8组(R8-R15),将寄存器的数目提高到了16组。X86-64寄存器默认位64-bit。还增加了8组128-bit XMM寄存器(也叫SSE寄存器,XMM8-XMM15),将能给单指令多数据流技术(SIMD)运算提供更多的空间,这些128位的寄存器将提供在矢量和标量计算模式下进行128位双精度处理,为3D建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照X86-64标准生产的CPU可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。
EM64T技术
Intel官方是给EM64T这样定义的:EM64T全称Extended Memory 64 Technology,即扩展64bit内存技术。EM64T是Intel IA-32架构的扩展,即IA-32e(Intel Architectur-32 extension)。IA-32处理器通过附加EM64T技术,便可在兼容IA-32软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行32 bit线性地址写入。EM64T特别强调的是对32 bit和64 bit的兼容性。Intel为新核心增加了8个64 bit GPRs(R8-R15),并且把原有GRPs全部扩展为64 bit,如前文所述这样可以提高整数运算能力。增加8个128bit SSE寄存器(XMM8-XMM15),是为了增强多媒体性能,包括对SSE、SSE2和SSE3的支持。
Intel为支持EM64T技术的处理器设计了两大模式:传统IA-32模式(legacy IA-32 mode)和IA-32e扩展模式(IA-32e mode)。在支持EM64T技术的处理器内有一个称之为扩展功能激活寄存器(extended feature enableregister,IA32_EFER)的部件,其中的Bit10控制着EM64T是否激活。Bit10被称作IA-32e模式有效(IA-32e mode active)或长模式有效(long mode active,LMA)。当LMA=0时,处理器便作为一颗标准的32 bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。
目前AMD方面支持64位技术的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技术的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。
64位技术就像一股不可阻挡的浪潮扑面而来,从今年开始,64位技术将逐步渗透进我们的生活,也许明年这个时候,我们已经习惯了在64位操作系统下运行64位程序。
参考技术A 在64位Windows系统中,默认数据源(ODBC)是64位的,包括控制面板-》管理工具-》数据源 或在运行中直接运行ODBCAD32程序。如果客户端是32位应用程序,仍然需要配置32位ODBC数据源,这时需要运行C:\Windows\SysWOW64\odbcad32.exe来启动ODBC数据源管理器,添加32位的ODBC数据源。本回答被提问者采纳[转] 64位windows下添加postgreSQL odbc数据源
系统环境:windows7 64位
Provider=MSDASQL.1;Persist Security Info=False;Data Source=PostgreSQL30;Initial Catalog=DBTest
在64位Windows系统中,默认数据源(ODBC)是64位的,包括控制面板-》管理工具-》数据源 或在运行中直接运行ODBCAD32程序。如果客户端是32位应用程序,仍然需要配置32位ODBC数据源,这时需要运行:
C:\\Windows\\SysWOW64\\odbcad32.exe
来启动ODBC数据源管理器,添加32位的ODBC数据源。
参考资料:
以上是关于64位Windows系统如何配置32位ODBC数据源的主要内容,如果未能解决你的问题,请参考以下文章
win7 64位 直接安装mysql odbc 64位 报错1918,怎么解决?
oracle已经配置好odbc数据源为啥打开access还是无法连接oracle