在win7 64位系统安装的oracle11g64位,在使用plsql连接数据库的时候,打开plsql数据库里都是空的,tnsnames.ora我都配置了啊,百度了下,plsql不能依赖于64位的oracle,那就安装一个32位的客户端吧
安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0.zip)
下载instantclient-basic-nt-12.1.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_12_1):E:\dbserver\oracle11\product\instantclient_12_1。
拷贝数据库安装根目录下的一个目录E:\dbserver\oracle11\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下E:\dbserver\oracle11\product\instantclient_12_1(其实只需要 NETWORK\ADMIN\tnsnames.ora)
配置PL/SQL Developer 依赖于oracle客户端
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :E:\dbserver\oracle11\product\instantclient_12_1
OCI Library :E:\dbserver\oracle11\product\instantclient_12_1\oci.dll
到这里已经可以私用plsql连接oracle了,
下面的设置主要是将客户端和服务端的编码设置一致,防止中文乱码
设置环境变量(修改PATH和TNS_ADMIN环境变量)
对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;--查询服务器的语言编码,用来解决客户端中文乱码
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "E:\dbserver\oracle11\product\instantclient_12_1;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"E:\dbserver\oracle11\product\instantclient_12_1;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出.