您的位置:首页 > 数据库 > Oracle

Windows Oracle ODBC安装配置

2016-01-04 16:23 218 查看
本来一脑子心思想使用Oracle OCCI接口进行编程的,一个原因是自己比较喜欢纯C++编程,二是考虑到程序是要往Linux服务器移植的,少走冤枉路。结果搞了N久没有把Oracle Instant Client的OCI/OCCI搞好,就差最后一个环境没有配好了。因项目紧迫,只好暂时放下,先凑合用这ODBC吧,结果发现其实Linux 也可以使用ODBC(真是孤陋寡闻,惭愧啊!)。
  也是参考了前人的成功脚步,把ODBC的驱动给安装成功,为了记下以便日后重新搞一遍(唉,麻烦,老是做同样的工作,还花费那么多同样的时间);
  我使用的Windows 7,64位的操作系统。
  1.下载驱动包
  base包:instantclient-basic-windows.x64-11.2.0.3.0.zip
  ODBC包:instantclient-odbc-windows.x64-11.2.0.3.0.zip
  我下载的是11.2.0.3版本的,两个包的版本必须要一致才行。http://www.oracle.com/technetwork/topics/winx64soft-089540.html
  2.解压安装
  解压上面两个包,把解压后的文件放在同一个目录(合并),注意2个包解压后的所有文件必须放在一个目录下,假设是D:\\instantclient_11_2
  使用管理员权限打开CMD,进入该目录,运行odbc_install.exe进行安装。
  提示安装成功后,运行64位ODBC驱动配置程序“C:\windows\SysWOW64\odbcad32.exe”
  注意:64位系统的odbcad32.exe的目录应该在SysWOW64。
  不出意外,ODBC的驱动已经安装成功了,打开ODBC数据源管理器就可以看到已经有ODBC驱动程序项:

  


  3.选择ODBC配置DSN,如下图,可以根据实际的情况天下Oracle ODBC Driver Configuration。
  


  测试连接成功后,就可以使用ODBC连接数据库了,Enjoy it!

  加一句,我使用的ADO来封住ODBC连接。ODBC连接串测试成功和能够使用的是:Provider=MSDASQL.1;Persist Security Info=False;User ID=avls;Password=1;Data Source=orcl;
  还有发一个Oracle ODBC连接串汇总:http://www.connectionstrings.com/oracle/ 那么多人贡献真好!

  再说一句:配置Oracle ODBC驱动必须需要配置环境变量,就是让驱动能够找到D:\instantclient_11_2\NETWORK\ADMIN 下面的tnsnames.ora tnsnames.ora文件包含了连接Oracle服务器的连接串;
  只需要配置ORACLE_HOME环境变量的值为D:\instantclient_11_2即可。已经经过测试,嘻嘻。谢谢,不用夸奖,有用得很。

  关于环境变量,还有一个需要进行配置的就是ODBC驱动的语言设置,NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 目前测试可以解决SQL通过ODBC查询中文乱码的问题。

  参考连接:http://bbs.51cto.com/thread-1037322-1.html

分类: Oracle

标签: Oracle, ODBC

好文要顶 关注我 收藏该文








shelvenn's blog

关注 - 0

粉丝 - 7

+加关注

3

0

(请您对文章做出评价)

« 上一篇:Linux
Samba服务器配置

posted @ 2014-06-20 17:27 shelvenn's blog 阅读(13377)
评论(7) 编辑 收藏

评论列表


#1楼 2014-10-27
21:16 leevin

SysWOW64目录下的odbcad32.exe是32位程序,system32下的才是64位吧
支持(0)反对(0)


#2楼 2015-04-23
21:41 不系之舟530

在这里帮楼主注一下吧,图中的TNS需要你填:IP地址:端口号/实例名。

比如本地的话,可能可以是127.0.0.1:1251/orcl
支持(0)反对(0)


#3楼[楼主] 2015-04-23
23:06 shelvenn's blog

@不系之舟530

是的,是个好办法,上面方法是测试OK的,在项目中直接应用。但是ODBC需要安装的东西还是太多了,比较麻烦,尤其是程序移植到Linux后,事情更多了。没有办法,后来直接改用OCCI了。
支持(0)反对(0)


#4楼 2015-04-23
23:10 不系之舟530

@shelvenn's blog

我是按博主的方法,结果TNS填错了,一直连接测试报错。所以在这里写一下,提醒别人。
支持(0)反对(0)


#5楼 2015-09-18
10:00 品风无声

采用了你的方法,但是SysWOW64\odbcad32.exe无法看到啊。

在odbc里面倒是有了。。。
支持(0)反对(0)


#6楼[楼主] 2015-10-19
22:43 shelvenn's blog

@品风无声

在64位系统里面是可以看到的,如果没有检查是否缺失?
支持(0)反对(0)


#7楼[楼主] 2015-10-19
22:45 shelvenn's blog

@不系之舟530

操作方法有点重要,我这个也是经过两次测试才得到的,主要是要搞清楚原理,这样才能找到问题所在
支持(0)反对(0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: