问题描述
公司在局域网内配置了一台开发环境的oracle数据库,我们只需连接到开发环境oracle服务器就可进行开发,本地就不用安装oracle数据库,但是需要安装oracle客户端
-
安装软件
- oracle客户端 (用于连接oracle)
- PL/SQL(用于开发)
安装好了PL/SQL(64位),安装了32位的oracle_client(版本不对,不过一开始我也没注意,所以才有了这篇文章)。
然后修改tnsnames.ora(oracle客户端里面)之后,连接却一直报错:
第一次尝试
一开始心烦意乱地没有注意64bit这个关键字,就按照网上提供的解决方案下载一个instantclient-basic-win32-11.2.0.1.0的包(无需安装,解压后包含oci.dll),解压后进入PL/SQL(启动叫输入账号密码时直接点cancel跳过),进入界面后点击tool->preference,手动填入刚才解压的oci.dll路径。
重启后连接,仍然失败,只能说明这个方法不适合我。
第二次尝试
冷静后才发现64bit这个报错,为了验证我的oracle client的位数,在cmd 执行 sqlplus /nolog
,然后进入任务管理器,如果看到次进程有32的字样证明就是32位的
果然发现是32位的(我把oracle客户端的安装目录加入了path环境变量,所以直接在cmd运行)。
第二次尝试
重新下载oracle client 64位版本(之前的32位并没有卸载),我下载的是exe安装程序(安装完成后还提示你修改tnsnames.ora),修改完tnsnames.ora*(就在安装目录的network/admin目录)*后打开PL/SQL进入preference,Oracle Home和OCI Library自动带出来了。
然后选择session->log on。输入账号密码,选择数据库成功连接。