WIN7(64位)系统发现数据源ODBC里面没有配置access数据源连接&System, System32, Syswow64 概述

直接在地址栏中输入:
C:\Windows\SysWOW64\odbcad32.exe
打开即可。
本机是 win7 64 位操作系统,做数据库实例时需要创建 Access 数据库的 ODBC 数据源,但是打开 ODBC 数据源后发现添加里面没有配置 access 的连接,如下图:

还会弹出以下问题框:

 

        解决方法:打开目录:“C:\Windows\SysWOW64”,双击该目录下的“odbcad32.exe”文件(以前打开的是C:\Windows\system32目录下的该文件),进去ODBC数据源管理界面后问题就都可以解决了。于是查追根到了操作系统的原理上,下面谈谈SystemSystem32SysWoW64

 

       WoW64 (Windows-on-Windows 64-bit)是一个Windows操作系统的子系统, 能够运行32-bit 应用

程序, 并且在所有的64-bit 版本的windows上都存在。

        WoW64子系统是一个轻量级的compatibility layer, 在所有版本的windows上都拥有同样的接口. 它的主要目的是用来创建32-bit环境, 为了让32位的应用程序可以不经过任何修改就运行在64-bit的系统上, 它提供了必须的接口.

        技术上说, WOW64是由三个DLL实现的:Wow64.dll 是Windows NT kernel的核心接口, 在32位和64位调用之间进行转换, 包括指针和调用栈的操控. Wow64win.dll 为32位应用程序提供合适的入口指针.Wow64cpu.dll 负责将处理器在32位和64位的模式之间转换。

      如果你查看一下在32位操作系统内的\Windows文件夹,你会发现两个子目录:一个名为SYSTEM,还有一个名为SYSTEM32SYSTEM目录是Windows 3.x遗留下来的,用来保持Windows的对一些旧的应用程序的向下兼容性。一般说来,16位的DLL文件(以及其它的支持文件)被存放在\Windows\System文件夹里,32DLL文件和不同支持文件被存放在\Windows\System32文件夹里。

   
32位版本的Windows保持16位和32DLL文件的方式是非常简单的,但是64位版本的Windows保持64位和32DLL文件的方式就不这么简单了。

     
理论上说,微软将要创建一个名为\Windows\System64的文件夹来用其存放64DLL文件,但是取而代之的是,微软创建了一个新的名为SysWOW64的文件夹来存放32位的DLL文件。第一眼看起来,让人感觉这个文件夹应该存放64位应用程序的,但是注意,32位应用程序本来应该存放它们的DLL文件到\Windows\System32文件夹里面。
   
\Windows\System32文件夹在64位版本的Windows内仍然存在。但是微软使用这个文件夹做为64DLL的仓库,而不是32DLL文件的。我不清楚微软使用\Windows\System32文件夹来存放64DLL的原因,但是据了解这么做是为了向下兼容性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值