在64位Windows系统中,默认数据源(ODBC)是64位的,包括控制面板-》管理工具-》数据源 或在运行中直接运行ODBCAD32程序。如果客户端是32位应用程序,仍然需要配置32位ODBC数据源,这时需要运行C:\Windows\SysWOW64\odbcad32exe来启动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内核(版本 2616)可编译成最高支持 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位程序。
若要设置游标选项,请调用SQLSetStmtAttr以设置或调用SQLGetStmtAttr,从而获得控制游标行为的语句选项。Attribute指定SQL_ATTR_CURSOR_TYPE只进、静态、动态或由键集驱动的游标类型SQL_ATTR_CONCURRENCY只读、锁定、乐观使用时间戳或乐观使用值的并发控制选项SQL_ATTR_ROW_ARRAY_SIZE在每个提取中检索的行数SQL_ATTR_CURSOR_SENSITIVITY显示或不显示由其他连接对游标行进行的更新的游标SQL_ATTR_CURSOR_SCROLLABLE可以向前和向后滚动的游标这些属性(只进、只读、行集大小为 1)的默认值不使用服务器游标。若要使用服务器游标,必须将这些属性中的至少一个属性设置为非默认值,并且所执行的语句必须是包含单个 SELECT 语句的单个 SELECT 语句或存储过程。使用服务器游标时,SELECT 语句无法使用服务器游标不支持的子句:COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO。通过设置 SQL_ATTR_CURSOR_TYPE 和 SQL_ATTR_CONCURRENCY,或通过设置 SQL_ATTR_CURSOR_SENSITIVITY 和 SQL_ATTR_CURSOR_SCROLLABLE,可以控制所使用的游标类型。不应将指定游标行为的两种方法混用。1 获得DB2端口号首先要获得远程基于Winows2000 Server *** 作系统的DB2的端口号。在远程Winows主机上运行DB2命令行处理器,然后接着输入命令“ DB2 get dbm cfg |find "SVCENAME" ”,执行后找到“SVCENAME”来获得DB2的TCP/IP 服务名db2c_DB2。
图1 获得DB2的TCP/IP 服务名db2c_DB2
点击开始菜单,在“运行”处输入“drivers”,在打开资源管理器中找到子目录etc(整体目录Winows2000中为c:\winnt\system32\drivers\etc、WinXP或者Win7中为c:\windows\system32\drivers\etc)就可以找到文件services并打开它,如图2所示
图2 找到文件services并打开它
在文件services中找到TCP/IP 服务名db2c_DB2对应的端口号 50000。
2 客户端上配置ODBC数据源
在客户端打开DB2的配置助手,然后按照以下步骤来建立ODBC数据源。
图3 DB2的配置助手建立ODBC数据源
图4 DB2的配置助手建立ODBC数据源
图5 DB2的配置助手建立ODBC数据源
图6 DB2的配置助手建立ODBC数据源
图7 DB2的配置助手建立ODBC数据源
图8 DB2的配置助手建立ODBC数据源
在图9中,选择远程 DB2数据库主机的 *** 作系统, 如Windows,Aix、Linux、或者Solaris等。
图9 DB2的配置助手建立ODBC数据源
图10 DB2的配置助手建立ODBC数据源
图11 DB2的配置助手建立ODBC数据源
最后,点击“完成“按钮结束整个配置工作。
3 DB查询分析器通过ODBC访问DB2数据库
中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的 *** 作界面、良好的 *** 作性、跨越各种数据库平台乃至于EXCEL和文本文件。
你可以通过它查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回。从数据库导出千万条数据时,效率与DBMS没有什么区别。
《DB 查询分析器》在中关村在线(xiazaizolcomcn/detail/27/264455shtml) 下载量超过 95万 次,位居整个数据库类排行榜中前20位。
在《程序员》2007第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。
下载安装《DB 查询分析器》并运行它,输入建立的ODBC数据源名称“MGF_DB1”、用户名和口令。
图12 下载安装运行
图13 DB 查询分析器的对象浏览器快速生成SQL脚本并执行-在Access查询中,如何用SQL访问SQL Server中的表?多种方式:1、用链接表。2、用传递查询。3、直接在本地查询串中指定连接信息即可,如下:selectfromOrdersin[ODBC][ODBC;Driver=SQL Server;Server=;Uid=sa;Pwd=0;database=Northwind]INSERTINTO目标库表名 (字段列表)INODBC[ODBC;Driver=SQL Server;Server=服务器名或IP;Uid=sa;Pwd=密码;database=数据库名]SELECT字段列表fromAccess本地表ODBC管理器(Administrator)它负责安装驱动程序,管理数据源,并帮助程序员跟踪ODBC的函数调用。在ODBC中,应用程序不能直接存取数据库,它必须通过管理器和数据库交换信息。ODBC管理器负责将应用程序的SQL语句及其他信息传递给驱动程序,而驱动程序则负责将运行结果送回应用程序。运行32bit ODBC管理器后,出现一个主对话框,它的主要内容是要求用户输入一个数据源,所谓数据源就是数据库位置、数据库类型以及ODBC驱动程序等信息的集成。数据源负责将运行结果送回应用程序。应用程序、ODBC管理在使用之前必须通过ODBC管理器进行登记和连接,启动ODBC管理器后,选取Add按钮,根据自己的数据库类型,选择相应的ODBC驱动程序,然后输入数据源名(Data Source Name)和数据库文件名(Database Name),完成这些步骤后,以后的应用程序就能够通过ODBC管理器的数据源直接 *** 纵数据库。在Window95或者98下,ODBC管理器在控制面板里面的32bit ODBC。而在WINDOW2000下,ODBC管理器是在程序à管理工具à数据源(ODBC)中。第一次找它费了我好大的力气。后来动用了搜索才找到的。(想想自己还真够笨的。L)下面以Window2000下的ODBC管理器为例,介绍一下每一页的用途:1、 用户DSN:ODBC用户数据源存贮了如何与指定数据库提供者连接的信息。只对当前用户可见,而且只能用于当前机器上。这里的当前机器是只这个配置只对当前的机器有效,而不是说只能配置本机上的数据库。它可以配置局域网中另一台机器上的数据库的。2、 系统DSN: ODBC系统数据源存贮了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。3、 文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是界于用户DSN和系统DSN之间的一种共享情况。4、 驱动程序:这页列出了本机上所有安装的数据库驱动程序。里面列举了每个驱动程序的名称,版本,提供商公司,驱动程序文件名,以及安装日期。5、 跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。里面可设定日志的路径和文件名。技术人员通过这里面的信息可以看到本机上所有的数据库访问的时间,用户,以及出错信息等情况。也可以通过这个辅助调试应用程序,可以启动Visual Studio的分析器,来进行ODBC的跟踪。6、 连接池:连接池允许应用程序重用原来打开的的连接句柄,这样可以节省到服务器的往返过程。7、 关于:最后这一页列出了所有的ODBC的核心文件。 这里,我们以常用的Access数据库为例子,来说明创建一个用户数据源的过程。假设我们已经通过Access创建了一个Samplemdb文件(假设放在C:\DB\目录下),里面包含了所有的表,索引和数据。别的数据库可能不同,例如paradox数据库是把所有的表,索引,数据用不同的文件保存,但是都放在同一个目录下面。(别的如SQL Server,DB2,Oracle大型的数据库我们暂时不做介绍。因为一般非专业人员接触这样大型的数据库的机会不多,而且它们的配置都比较麻烦,当然,相应的功能也比小型的桌面数据库强,主要是提供了一些数据保护,数据安全,事务处理方面的东西。)首先在用户DSN这一页,单击填加。然后选择数据库的驱动程序,这里我们选择Microsoft Access Driver(mdb)。两外也有两项是以(mdb结尾)的。不过不能选那两个。然后单击完成。然后在数据源名(N)上指定一个名字,可以任意指定,以后在程序里面使用的DSN就是这个名字了。然后选择数据库,在d出的窗口中找到C:\DB\Samplemdb,选择,确定。这里,有两个复选框,可以规定数据库以只读或者独占的方式打开。另外,也可以通过右下角的"网络(N)…"按纽选择网络上另一台机器上的数据库。返回到如下界面:这时,已经选择好了数据库,可以确定退出。另外,在高级按纽里面可以确定本数据源的访问密码。可以指定系统数据库。在选项按纽里面还可以设定缓冲区的大小等。这里面,缓冲区是在内存中开辟的一个区域,通过ODBC数据源的 *** 作实际上都是和缓冲区里面的数据打交道。由应用程序正常退出的时候,或者需要别的应用程序也需要访问硬盘上的数据,驱动程序发现硬盘上的数据不是最新的数据,就用缓冲区的数据来更新硬盘上的数据。如果发生忽然断电的情况,那么,硬盘上的数据来不及更新,原来做的修改将会丢失。这好像不是你数据库设置的问题,而是局域网的问题,你试试看,在控制面板>管理工具>本地安全策略,中启动你和对方的guest帐号,网络访问方式改为经典-本地访问 ,在拒绝从网络访问这台计计算机中删除所有的,拒绝做为服务器登陆中清空所有的,然后关闭windows防火墙,
局域网内winXP(professional)的访问是个经常困扰大家的不大不小的问题,上次说我不够详细,你现在可以按以下的方法试一下,如果不成功,也可照此方法来解决局域网中经常出现的莫名奇妙的错误!!!我也是做DBMS的,出现的很多问题,貌似数据库故障,其实不然!!
一、首先启用guest来宾帐户;
二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户;
三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾;
四、设置共享文件夹;
五、控制面板→管理工具→本地安全策略→本地策略→安全选项里,把“网络访问:本地帐户的共享和安全模式”设为“仅来宾-本地用户以来宾的身份验证”(可选,此项设置可去除访问时要求输入密码的对话框,也可视情况设为“经典-本地用户以自己的身份验证”);
六、右击“我的电脑”→“属性”→“计算机名”,该选项卡中有没有出现你的局域网工作组名称,如“work”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,如“work”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。
一般经过以上步骤,基本可以解决。如果不行,再往下看:
七、检查本地连接是否被禁用,右击“本地连接”→“启用”;
八、关闭网络防火墙;
九、检查是否启用了域,是否加入了该域并检查域设置;
十、检查是否关闭了server服务;
十一、检查本地连接IP、子网掩码、网关及DNS设置是否有误;
十二、“本地连接”→属性→常规,检查是否安装了“Microsoft网络文件和打印机共享”、“Microsoft网络客户端”以及TCP/IP协议;
十三、某些局域网游戏和软件须安装NetBEUI协议。而且网上有文章说,在小型局域网中,微软在WinXP中只支持的TCP/IP协议和NWLink IPX/SPX/NetBIOS兼容协议表现不尽如人意,在小型局域网(拥有200台左右电脑的网络)中NetBEUI是占用内存最少、速度最快的一种协议。
安装方法:
①放入Windows XP安装光盘,到“valueaddMsft et etbeui”目录下将Netnbfinf复制C:\Windows\INF中;
②将Nbfsys复制到C:\Windows\System32\Drivers中;
③开始→控制面板→网上邻居”→“网络连接”→“本地连接”(就是你目前使用中的局域网连接)上按右键→“属性”→“常规”→“安装”→“通讯协议”→→“添加”,此时就可以看到“NetBEUI Protocol”这一项(此项原来是没有的),选取NetBEUI之后,按确定就OK了。
十四、作为网络浏览服务器的电脑由于病毒、配置低运行慢以及死机等原因导致网络上的计算机列表得不到更新,使得某些机器有时候在网上邻居中找不到。
解决办法:最简单的办法是重启各种网络设备和电脑,或者关闭个别有上述问题的电脑上的网络浏览服务器功能,方法如下:
win2000/XP下禁用Computer Browser服务
十五、给系统打上补丁。WinXP访问网上邻居的速度较慢,这是WinXP的一个Bug,当我们打开网上邻居时, *** 作系统首先会从计划任务中进行查找,因此就大大影响了访问的速度,除非您已经安装了SP1补丁才不会存在这个问题。
可以手工解决这一问题。从注册表中找到“\HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace”,这里有一个名为“{D6277990-4C6A-11CF-8D87-00AA0060F5BF}”的子键,该子键指向“计划任务(Scheduled Tasks)”,将它直接删除即可。
十六、先卸载网卡驱动,重启再重装;
十七、硬件问题,检查网卡、网线、集线器、路由器等,在检查之前,最好先重启一下网络设备(集线器、交换机、路由器)看能否解决;
十八、病毒(木马)原因。升级病毒库安全模式下全盘杀毒。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)