连接64位Oracle
- 格式:docx
- 大小:13.45 KB
- 文档页数:3


64位操作系统下,使用PB、PL/SQL 连接64位Oracle的方法1.使用Oracle Instant Client首先,需要下载32(因为32位PB,PL/SQL无法调用64位的oci.dll)位的Oracle Instant Client,下载地址:/technetwork/database/features/instant-client/index-097480.html 该客户端是Oracle官方提供的免安装版本,一般选择Instant Client for Microsoft Windows(32-bit)的Instant Client Package-Basic:All files required to run OCI,OCCI,and JDBC-OCI applications即可。
配置步骤:1)下载后,将压缩包解压到不含中文名称的目录,如D:\instantclient_11_22)在D:\instantclient_11_2下新建一个tnsnames.ora文件,并手工配置tns,原理同Net Configuration Assistant配置,参考格式如下:Orcl11g=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=Orcl11g)))3)环境变量,设置如下:a)PATH中加入D:\instantclient_11_2,建议放在最前面;b)新建TNS_ADMIN,值为H:\instantclient_11_2c)新建NLS_LANG,值为Oracle服务器字符集,如:SIMPLIFIEDCHINESE_CHINA.ZHS16GBK2.连接远程64位服务器连接64位远程服务器比较简单,按上述下载、配置环境变量后,PB可直接使用,PL/SQL也只需在Tools->Preferences->Oracle->Connection中的Oracle Home、OCL library中分别加入D:\instantclient_11_2、D:\instantclient_11_2\oci.dll即可。
PLSQL developer连接64位oracle11G默认情况下,PL/SQL Developer是无法连接到数据库的,原因是:PL/SQL DEVELOPER是沒办法执行64位元的OCI.DLL,可是Win7X64又只能装64位元Oracle client X64。
变成要多下载一个Oracle Instant client X32oci.dll是64位的,而PL/SQL developer只有32位的,在使用64位oci.dll文件时出错。
1.下载instantclient-basic-nt到Oracle官网下载Instant Client for Microsoft Windows(32-bit)下载后配置文件如下图2.解压指定位置选择instantclient-basic-nt-11.2.0.3.0,下载后解压到目录。
(本人的路径为:D:\ProgramFiles\instantclient_11_2)解压后的目录为安装PL/SQL Development由于提供的是绿色版的,直接打开文件夹点击此图标即可登入配置PL/SQL Deverloper登陆非登录状态下进入PL/SQL developer,进入工具->首选项->连接,在连接中设置Oracle主目录和OCI库,其中Oracle主目录设置为InstantClient的解压目录(D:\ProgramFiles\instantclient_11_2本人的路径),OCI库设置为该目录下的oci.dll(D:\ProgramFiles\instantclient_11_2\oci.dll本人的路径)。
设置完成后界面如下保存好后可尝试登录,如果出现这样的报错ORA-12154:TNS:could not resolve the connect identifier specified.,此时你就得需要去配置环境变量:控制面板\所有控制面板项\系统,然后在左边有一个“高级系统设置”,点击后即可得到如下:点击环境变量,得到:系统变量中的新建,设置好变量名与变量名:(变量名就是你oracle的路径:本人的路径为:C:\app\Administrator\product\11.2.0\dbhome_1)关键找到红色部分即可;再次登录时可能会报错:NLS_LANG在客户端不能被确定字符集转变将造成不可预期的后果此时还得多配置一条环境变量:变量名与变量值与图片上一样即可。
PLSQL连接Oracle数据库问题及详解三、PLSQL安装或使⽤免安装版本。
四、PLSQL连接Oracle问题汇总: PLSQL Developer 连接 64位Oracle 数据库需要找到两个东东: 1、32位的 oci.dll ⽂件 因为PLSQL Developer 为32位软件,故在访问 Oracle 11g 64位数据库时,需⾸先经过32位的oci.dll这个中间⼈再与64位oracle 数据库通信。
故在PLSQL Developer访问 64位oracle 数据库时,必须要能能找到 32位的 oci.dll⽂件位置。
32位 oci.dll的获取有两种⽅式,⼀是再安装⼀个32位Oracle 11g 客户端;⼆是直接从⽹络下载⼀个包含32位 oci.dll 的简易安装包。
所以如果你安装64位的客户端,⽤plsql是连接不上数据库的。
就是说如果你安装的是64位Oracle,则如果⽤plsql必须安装⼀个32位的oracle客户端。
2、ORACLE_HOME ⽬录(即 Oracle主⽬录) 找 ORACLE_HOME 是为了找到 tnsnames.ora .tnsnames.ora存储数据库连接信息。
tnsnames.ora可通过”Net Configuration Assistant”配置,或直接从别的计算机上复制⼀个该⽂件放置到 Oracle客户端主⽬录\network\admin 中即可。
(client安装完成之后会在注册表中写⼊⾃⼰的ORACLE_HOME地址,所以plsql会根据此地址找到tnsnames.ora) ORACLE_HOME主⽬录可以在操作系统中的环境变量中配置(尽量不要采⽤此办法)。
解决⽅法多种多样,但要实现的⽬标也就上⾯两个。
五、环境变量配置:(正常安装情况下请不要主动配置操作系统的环境变量,后期安装client之后容易出问题,因为oracle和oracle client都会有⾃⼰的ORACLE_HOME环境变量,这些变量在注册表中是已经存在的,如果再在操作系统中添加系统环境变量,容易引起混乱,从⽽导致oracle 监听服务⽆法启动等问题)NLS_LANGAMERICAN_AMERICA.AL32UTF8或 SIMPLIFIED CHINESE_CHINA.ZHS16GBK六、PLSQL设置⼋、PLSQL连接相关问题 1、打开PLSQL,输⼊⽤户名密码连接报错:ORA-12638: Credential retrieval failed 解决办法:修改sqlnet.ora⽂件,将 SQLNET.AUTHENTICATION_SERVICES= (NTS) 改为SQLNET.AUTHENTICATION_SERVICES= (NONE) 如果出现不让保存的权限问题,请把sqlnet.ora⽂件拷贝到桌⾯,修改之后再把原来的⽂件删除,把桌⾯⽂件拷贝进去就⾏了。
设置PLSQL Developer访问本机64位Oracle由于在本机Windows Server 2008 R2 X64上安装了64位的Oracle 11.2.0.1,结果试图使用PLSQL Developer去访问它的时候,报告说无法加载oci.dll文件。
原来oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了。
试验了下,解决办法如下:1.下载32位instantclient-basic-win32-11.2.0.1.0.zipOracle官网地址:/technetwork/topics/winsoft-085727.html并解压缩到某目录,例如C:\oracle\instantclient_10_2;2. 将系统的tnsnames.ora拷贝到该目录下;如D:\app\wangshaoxuan\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora C:\oracle\instantclient_10_2;3. 在PLSQL Developer中设置Oracle_Home和OCI Library,如下图所示4. 在PLSQL Developer目录下编辑如下bat文件,替换其快捷方式,启动PLSQL Developer:@echo offset path=C:\oracle\instantclient_10_2set ORACLE_HOME=C:\oracle\instantclient_10_2set TNS_ADMIN=C:\oracle\instantclient_10_2set NLS_LANG=AMERICAN_AMERICA.ZHS16GBKstart plsqldev.exe注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整。