win2003服务器安装plsql的坑
最近想把一个老服务器环境备份下来,windows2003的环境,上面分别安装了 sqlserver2000, oracle的用户端,主要是为了运行一个比较老的vb做的程序,其它的操作不讲,这里讲一下安装plsql时遇到坑。
既然要全盘模拟之前的服务器,就得完全按照服务器的操作系统进行配备,在自己的电脑上装了虚拟机进行尝试。
这是参考别人的操作:(使用PL/SQL连接别人的Oracle)
https://blog.csdn.net/u011161002/article/details/84418664?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
入坑的过程
因为虚拟机建立在笔记本上,默认就给生成64位机,以下为操作过程:
- 安装虚拟机
- 设置虚拟机硬件配置
- 虚拟机连网设置
- 安装操作系统 windows2003( 提前下好iso文件)
- 安装sqlserver2000
(以上为了完全模拟老服务器的环境设置,为了能直接运行一个没有太大必要重新开发的程序。)
以上的操作中,遇到了各种大大小小的坑,操作起来的速度一言难尽,这里就不再提,等前面的步骤操作完成,试运行程序时提醒oracle 组件未安装时,我知道应该安装oracle配件了。 - 安装plsql
- 查询配置oracle的操作,参考了网上的推荐
8.直接从网上下载了两个不同的版本,直接解压后放在自己定义的文件夹里,先是instantclient_11_2
后来是instantclient_19_5, 直接解压缩到 某个自己命名的文件夹 - 然后设置几个环境参数
- 设置plsql 跟oracle的连接
- 打开plsql -工具 -首选项
- Oracle 连接
后面遇到了一系列的报错
一、 先连接C:\instantclient_11_2
(1) 报错内容
(2)还以为是版本不兼容,再重新下载 instantclient_19版,这里还是下的64位,继续报错如下
(3)既然下了两次64位的都有问题,继续分析其它原因,打算下一个32位的客户端再试一下,然后找了一个19_5版的32位,至于为什么是19,并没有具体的方向,就是因为不知道问题在哪,所以就是随便在网上找,找到哪个先试一下。
(4)再连接C:\instantclient_19_5_32
注意,这里的后标32是指这个是32位的版本,刚打开plsql的时候不再报错,但随后又跳出一个对话窗口
(5) 崩溃了,已经重新安装了N多次了,而且每次改版本都注意要修改那个参数对应的路径,这些都没有忘记,但还是不成功,到底问题在哪呢?
(6) 一直都在报oci.dll 有问题,难道是因为下载的这个dll文件是坏损的吗?但不能个个都是这个文件有问题吧,但找不到别的办法, 试吧 查找oci.dll文件
这里没有截图记录,就是找了个oci.dll文件,替换原来的文件,全部重新操作了一遍,还是不行,继续报错
(7)最后死心了,不再图省事直接找已经解压的文件夹instantclient,而是去找安装文件,
(8)这里应该是运气比较好吧,重装了这么多次,恰好找到了这个版本 ,11gr2 ,32的客户端,按照安装顺序全部重新安装一遍
32位的 oracle_client安装完成后,自动生成了文件夹
C:\instantclient_11_2
(9)将之前的tnsnames.ora 文件直接放到该文件夹下
(10)检查一遍设置环境变量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=C:\instantclient_11_2
Path=新增:C:\instantclient_11_2;
(11) 设置plsql 跟oracle的连接
打开plsql -工具 -首选项
连接,oracle主目录名(已经自己填写)
OCI库:C:\instantclient_11_2\oci.dll
之前就一直是这个位置报错,往前看一遍,之前每次都是直接把instantclient 这个 文件夹下载下来,直接解压缩后放到文件夹下(参考了网上的说法)
结果一直失败,这次从头到尾的安装了一遍,终于没再报错,
可能也是恰好遇到了合适的版本,不知道是不是因为重新安装造成的
总之,绕了一大圈,至少把问题解决了,还是比较开心,希望能帮到需要的人。