日期:2014-05-16  浏览次数:20613 次

Windows 7下通过Excel2007连接Oracle数据库并对表查询

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数据源中就能看到刚刚创建的数据源,选择数据源,下一步(注意:如果数据库数据较多,这一过程时间会比较长)


接下来你就能对表进行查询了






右侧的字段中,选择你需要的字段



Some Reference:

http://blog.mclaughlinsoftware.com/microsoft-excel/how-to-query-oracle-from-excel-2007/