oci.dll PLSQL连接oracel
PLSQL Developer 是最常用的Oracle数据库集成开放环境,功能、性能优越的标配Oracle工具。
如果本机安装有Oracle数据库,用PLSQL Dev 连接数据库自然没有什么问题,但是如果本机没有安装oracle 客户端,要连接非本地机的oracle DB,那么一种方法就是在本地也安装Oracle,或者安装类似oracle develop 10g开发套件,这些安装方法比较麻烦,安装下来占用磁盘空间和系统资源,特别是oracle数据库启动的时候大量占用系统服务和资源,不是理想的方法。
安装使用过PLSQL Dev都知道,要连接数据库,必须配置TNS(Transparence Network Substrate),而直接安装PLSQL Dev 之后,本机是没有Oracle HOME的注册表项,连网络连接配置项都没有,PLSQL Dev 就是一个文本编辑器而已。
PLSQL Dev 连接远程oracle的一个有效解决方法使使用OCI。ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口函数,通过在第三代程序设计语言中进行调用可达到存取ORACLE数据库的目的。本文介绍PLSQL Dev如何使用OCI的实例连接远程数据库的方法。
1. 准备
(1)下载 OCI,oracle 官方提供免费下载,http://www.oracle.com/technetwork/topics/winsoft-085727.html 需要Oracle账号登陆,其他一些平台也提供开放下载。
注:这里提供32位和64位下载,因为PLSQL Dev只有32位版本的,所以OCI下载32位,本人本机64位,使用正常。
(2)安装好PLSQL Dev
2.安装和设置
(1)本机建立一个专门的目录(将被引用,所以必须是固定目录,建议路基不带空格),把OCI下载包解压。
(2)在目录内建立一个NETWORK目录,在NETWORK目录下,建立一个ADMIN目录,这里将要放置tnsnames.ora 的TNS配置文件
(3)打开PLSQL Dev ,直接cancel连接窗口进入主界面,点开 菜单栏 --> tool --> Preferences --> Oracle --> Connection
在Oracle Home处设置 OCI目录位置,在OCI Library处设置OCI目录下的oci.dll ,确定。
3. TNS 和 NLS Lang
(1)在本机的系统属性(开始-->右键“计算机”-->属性-->高级系统设置-->高级-->环境变量-->系统变量),新建2个变量
TNS_ADMIN 值是刚才新建的OCI目录下面的NETWORK 下面的 ADMIN 目录的完整地址
NLS_LANG 值根据具体而定,一般设置为数据库的NLS Lang值,例如 SIMPLIFIED CHINESE_CHINA.ZHS16GBK ,AMERICAN_AMERICA.UTF8 等等
注:设置了环境变量之后需要重启才能生效。
(2)在../OCI/NETWORK/ADMIN 下面建立一个文件,命名为 "tnsnames.ora" ,在这里配置TNS信息
4. 重启 PLSQL Dev, 就可以选到数据库了,在PLSQL Dev中也看得到相关的 Support Info (菜单 --> Help -->Support Info)
虚拟机中安装 Oracle 重启后 有时会报ora -12514 tns 监听不能识别连接字符串。。关掉数据库实例和监听服务,重启数据库服务,重启监听服务