[转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误
本文转自:http://blog.csdn.net/downmoon/article/details/8038583
在Win8企业版64位环境下,连接Oracle11g 服务端,搞了整整两天,特将过程分享出来,供有需要的同学参考。
本机环境:
1、服务端:Oracle 11g R2 64位,安装路径E:/Org12
官方下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2、客户端:
(1)Instant Client ,轻量级,安装路径E:/Oracle11/client http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
(2)32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio,安装路径E:/Org12/Product/11.2.0/client_1
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html?ssSourceSiteId=otncn
用客户端三种工具去连Oracle服务端,结果:
第一种:Oracle自带的SQL Deveploer工具,基本没问题!也不需要什么客户端配置。
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
第二种,用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/client
- rem 服务端路径: E:\Org12\product\11.2.0\dbhome_1\BIN
- set ORACLE_HOME=E:/Oracle11/client
- set TNS_ADMIN=E:/Oracle11/client
- set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- start 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?
参考的一些资源:
http://blogs.msdn.com/b/apgcdsd/archive/2011/05/25/linked-server-ssis-oracle.aspx
http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/96048ef5-ef9e-4b1c-b8a3-5d7b91d55adb
[转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误的更多相关文章
- Oracle 11g R2 32位 & Oracle 11g R2 64位 -百度云下载
Oracle 11g R2 32位 & Oracle 11g R2 64位 -百度云下载 https://pan.baidu.com/s/1fuzy67Olfxzsy3WJMCrCnQ 提取码 ...
- [转]win7 64位下完美安装64位oracle 11g
最近在网上搜如何在win764位的情况下安装64位的oracle,并且使用PLSQL Developer来管理oracle. 于是开始在oracle官网下载数据库,下载是一件很简单的事情,问题是在百度 ...
- 64位Oracle 11g 使用PL/SQL
Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库! [第一回合]完败! 先是在网上找解决方法,说是需要使用Net Configuration Assista ...
- oracle_安装_win7+64位+Oracle+11g+64位下使用PLSQL+Developer+的解决办法
1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-wi ...
- win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法
1)安装Oracle 11g 64位2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载 instantclient-basic-win ...
- win7+64位+Oracle+11g+64位下使用P…
1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basi ...
- VS asp.net 连接64位oracle 11g
vs2010 vs2013 vs2015 无法连接oracle 11g 64bit 尝试加载 Oracle 客户端库时引发 BadImageFormatException......... A.安装o ...
- 【转载】Oracle 11g R2 for Win7旗舰版(64位)- 安装
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:bluepoint2009 原文地址:http://www.cnbl ...
- windows 7 64位 安装oracle 11g R2
1.下载Oracle 11g R2 for Windows的版本 下载地址: http://www.oracle.com/technetwork/database/enterprise-edition ...
随机推荐
- 洛谷 3398 仓鼠找sugar 【模板】判断树上两链有交
[题解] 题意就是判断树上两条链是否有交.口诀是“判有交,此链有彼祖”.即其中一条链的端点的Lca在另一条链上. 我们设两条链的端点的Lca中深度较大的为L2,对L2与另一条链的两个端点分别求Lca, ...
- BZOJ 4094 USACO 2013 Dec. Optimal Milking
线段树 每个节点保存4个值,both表示左右端点都取,neither表示左右端点都不取,left表示只取左端点,right表示只取右端点. 维护的特殊姿势: $cur$的$both=max(ls.l+ ...
- Shiro-工作流程
[与Web集成] 1.Shiro 提供了与 Web 集成的支持,其通过一个ShiroFilter 入口来拦截需要安全控制的URL,然后进行相应的控制. 2.ShiroFilter 类似于如 Strut ...
- [luoguP1282] 多米诺骨牌(DP + 背包)
传送门 将问题转换成分组背包,每一组有上下两个,每一组中必须选则一个,上面的价值为0,下面的价值为1,求价值最小 因为要求上下两部分差值最小,只需从背包大小为总数 / 2 时往前枚举,找最小答案即可. ...
- [luoguP1631] 序列合并(堆 || 优先队列)
传送门 首先,把A和B两个序列分别从小到大排序,变成两个有序队列.这样,从A和B中各任取一个数相加得到N2个和,可以把这些和看成形成了n个有序表/队列: A[1]+B[1] <= A[1]+B[ ...
- noip模拟赛 寻宝之后
题目背景 还记得NOIP2011的寻宝吗?6年之后,小明带着他的妹子小芳,再次走上了寻宝的道路. 然而这次他们寻宝回来之后,小明被困在了一个迷宫中. 题目描述 迷宫是一个n*m的字符矩阵. 小明在这个 ...
- hdu 2844 多重背包二进制优化
//http://www.cnblogs.com/devil-91/archive/2012/05/16/2502710.html #include<stdio.h> #define N ...
- 数据库删除数据表重复数据,只留下ID较小的行
删除表中重复数据,留下ID比较小的行 delete from 表 where [重复字段] in (select [重复字段] from 表 group by 字段 having count([字段] ...
- [bzoj2038][2009国家集训队]小Z的袜子(hose)_莫队
小Z的袜子 hose 2009-国家集训队 bzoj-2038 题目大意:给定一个n个袜子的序列,每个袜子有一个颜色.m次询问:每次询问一段区间中每种颜色袜子个数的平方和. 注释:$1\le n,m\ ...
- ADO连接ACCESS2007及以上版本的数据库
function getaccessstr(databasename:string;password:string;accessVer:string='access2003'):string; beg ...