Win7逐渐成为现行主流的windows操作系统,其32和64位系统平分秋色。然而当下还没有64位的PL/SQL Developer问世,直接用32位的PL/SQL Developer连接Win7(64位)作为服务器的Oracle的时候,总是出现错误。查找资料,找到一个可以正常使用的方法。
1.首先安装64位oracle
2.下载oracle客户端(http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)
下载32位的,此客户端与oracle的标准客户端有一定的不同,不需要安装,直接解压到某路径下.如D:\Program Files\instantclient_12_1
3.配置客户端
在步骤2中解压文件的目录下安装建立文件夹NETWORK/ADMIN两层目录,在ADMIN其中创建tnsnames.ora文件,主要是配置DB服务器的IP地址和DB名称。相信使用过PL/SQL连接oracle的朋友都知道这个连接文件,就不再详述了。文件中输入DB的连接字符串如:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
4、下载安装PL/SQL Developer
下载正式版或是破解版的PL/SQL都可以,直接安装就可以了。
注意:安装路径中不能有括号,不要安装在C:\Program Files (x86)目录下面
5、配置PL/SQL
无用户登录状态下打开PL/SQL,通过TOOLS菜单,打开Preference首选项,修改Oracle Home和OCI Library路径如下图:
配置好以上四步后,重新打开PL/SQL,会出现如下登录画面,输入用户名和密码,就应该能正常登录了。
5、PL/SQL不能用中文条件查询
使用sql语句 select * from t_sys_log t where t.action = '查询'; 检索数据库没有返回结果,打开数据库表却存在记录。
这种问题是ORACLE服务端字符集编码与PLSQL客户端字符集编码不一致导致的,解决办法:
5.1.查询Oracle服务端字符集编码,获取NLS_CHARACTERSET字段值
select * from v$nls_parameters t where t.PARAMETER = 'NLS_CHARACTERSET';
5.2.查询Oracle服务端语言信息
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE FROM DATABASE_PROPERTIES;
5.3.设置系统环境变量
新增两个变量:
NLS_CHARACTERSET = AL32UTF8
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
5.4.重新启动PLSQL
检索正常