excel 64位如何连接32位oracle in oraclehome9i?
1. 环境变量的设置
1.1 ORACLE_HOME环境变量的设置,我这里指向了我的Oracle 10g的客户端
ORACLE_HOME=C:\oracle\product\10.2.0\client_2
1.2 TNS_ADMIN环境变量的设置,TNS_ADMIN目录下需有tnsnames.ora文件
2.ODBC的连接
我的OS为Windows7,控制面板>管理工具>数据源(ODBC),这个ODBC为64位的ODBC数据源,因为我们使用的客户端为32位的Oracle 10g客户端,则需要使用32位的ODBC程序来配置连接。
32位ODBC的路径默认为:C:\Windows\SysWOW64\odbcad32.exe
(64位ODBC的路径默认为:C:\Windows\System32\odbcad32.exe)
打开ODBC,点‘添加’
找到Oracle 10g数据库的驱动程序,点‘完成’
填写Data Source Name, Description, TNS Service Name,User ID,点'Test Connection'
然后点OK保存.这样ODBC的配置就算成功了。
3.启动Excel
单独把启动做一个段落是有原因的,因为我的Excel也为64位的,所以直接启动Excel连Oracle数据库的话,会有问题,连接的时候会报下边的错误,
"测试连接失败,因为初始化提供程序时发生错误。[Microsoft][ODBC驱动程序管理器]在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配"
这个错误就是因为你使用64位的程序去连32位的ODBC,体系架构上不支持。(如果你是XP等32位的,操作系统可以忽略此步)
正确的启动方法是:
右键 Excel -> 属性 ->兼容性
4.连接Oracle
数据页签 > 自其他来源 > 来自数据库连接向导
在数据库连接向导里,选择'ODBC DSN'
在ODBC数据源中就能看到刚刚创建的数据源,选择数据源,下一步(注意:如果数据库数据较多,这一过程时间会比较长)
接下来你就能对表进行查询了
右侧的字段中,选择你需要的字段