博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
64位Oracle 11g R2的客户端连接时报ORA-01019错误
阅读量:6349 次
发布时间:2019-06-22

本文共 1523 字,大约阅读时间需要 5 分钟。

在Win8企业版64位环境下,连接Oracle11g 服务端,搞了整整两天,特将过程分享出来,供有需要的同学参考。

本机环境:

1、服务端:Oracle 11g R2 64位,安装路径E:/Org12

官方下载:

2、客户端:

(1)Instant Client ,轻量级,安装路径E:/Oracle11/client

(2)32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio,安装路径E:/Org12/Product/11.2.0/client_1

 

用客户端三种工具去连Oracle服务端,结果:

第一种:Oracle自带的SQL Deveploer工具,基本没问题!也不需要什么客户端配置。

第二种,用PL/SQL 9.0去连,需要copy服务端的XX\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ORA文件到客户端(1)的network\ADMIN下,并删除不需要的部分,保留内容大致如下:

ORCL =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    )    (CONNECT_DATA =       (SID =ORCL)    )  )

并用如下方式启动PL/SQL

set Path=E:/Oracle11/clientrem 服务端路径: E:\Org12\product\11.2.0\dbhome_1\BINset ORACLE_HOME=E:/Oracle11/clientset TNS_ADMIN=E:/Oracle11/clientset NLS_LANG=AMERICAN_AMERICA.AL32UTF8start E:/Oracle11/PL_SQL/plsqldev.exe

此时OK。

第三种,用第三方工具,OracleSQLHandle,自带JRE,很小,也很好用,网上搜一下。

我们公司开发的一个工具组件去连服务端,问题来了,先是报下面这个错

 

邀月工作室

怀疑是环境变量问题,多次尝试后,加入客户端路径到Path中,报下面错:

 

邀月工作室

怀疑是字符集,用BAT修改为与Oracle服务端一致的编码,错误改为:

邀月工作室

这个问题网上查找很久,尝试的解决方法很多,但最终我的方案是:

1、删除Oracle服务端;方法可以在网上搜,要删干净;

2、删除ODAC及所有组件;

3、保留Instant Client及其安装目录,主要是network\ADMIN\tnsnames.ORA

4、重新安装Oracle服务端;

此时接所有客户端连接完全正常!

小结:

1、刚开始怀疑是64位Oracle驱动路径(x86)引起的bug,最后得出的结论是同一台机器,最好不要装两个Oracle客户端 ,服务端+客户端也不推荐,会引起一些潜在的问题,原因不明。

2、64位的Oracle服务端+32位的Oracle客户端,会有一些潜在的问题,最好32位对32位。

3、安装Oracle 11g R2 EX时,会在环境变量Path前面加上“e:\Org12\app\oracle\product\11.2.0\server\bin;;”,注意是两个分号,须删除一个;这个不知道是安装程序的BUG?

 

参考的一些资源:

补充:后来尝试,还有一种解决方案:直接官方下载并安装Oracle 32位客户端即可。

 

转载地址:http://flpla.baihongyu.com/

你可能感兴趣的文章
大二下周总结四
查看>>
转 常见视频编码方式以及封装格式
查看>>
灾后重建
查看>>
Nothing 和 Is
查看>>
第一个sprint冲刺第三天
查看>>
【As Easy As A+B - 专题训练-排序】
查看>>
cocos creator 底部按钮touch延迟
查看>>
vue中的input使用e.target.value赋值的问题
查看>>
数据库跨库访问问题
查看>>
关于FindComponent的使用,简化一些过程
查看>>
jq动态生成数据后绑定事件
查看>>
||和 && 符号的赋值运用(转)
查看>>
post提交返回json格式
查看>>
Java.lang 包中的Void类型
查看>>
正确理解linux grep 的姿势
查看>>
C语言程序设计第十次作业
查看>>
Android防止内存溢出浅析
查看>>
jquery 获取$("#id").text()里面的值 需要进行去空格去换行符操作
查看>>
多个Class作用于同一个元素的结果分析
查看>>
深入理解Lustre文件系统-第10篇 LNET:Lustre网络
查看>>