本文转自: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下,并删除不需要的部分,保留内容大致如下:

  1. ORCL =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  5. )
  6. (CONNECT_DATA =
  7. (SID =ORCL)
  8. )
  9. )

并用如下方式启动PL/SQL

  1. set Path=E:/Oracle11/client
  2. rem 服务端路径: E:\Org12\product\11.2.0\dbhome_1\BIN
  3. set ORACLE_HOME=E:/Oracle11/client
  4. set TNS_ADMIN=E:/Oracle11/client
  5. set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  6. 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

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。助人等于自助!   3w@live.cn

[转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误的更多相关文章

  1. Oracle 11g R2 32位 & Oracle 11g R2 64位 -百度云下载

    Oracle 11g R2 32位 & Oracle 11g R2 64位 -百度云下载 https://pan.baidu.com/s/1fuzy67Olfxzsy3WJMCrCnQ 提取码 ...

  2. [转]win7 64位下完美安装64位oracle 11g

    最近在网上搜如何在win764位的情况下安装64位的oracle,并且使用PLSQL Developer来管理oracle. 于是开始在oracle官网下载数据库,下载是一件很简单的事情,问题是在百度 ...

  3. 64位Oracle 11g 使用PL/SQL

    Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库! [第一回合]完败! 先是在网上找解决方法,说是需要使用Net Configuration Assista ...

  4. 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 ...

  5. 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 ...

  6. win7+64位+Oracle+11g+64位下使用P…

    1)安装Oracle 11g 64位   2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)   下载instantclient-basi ...

  7. VS asp.net 连接64位oracle 11g

    vs2010 vs2013 vs2015 无法连接oracle 11g 64bit 尝试加载 Oracle 客户端库时引发 BadImageFormatException......... A.安装o ...

  8. 【转载】Oracle 11g R2 for Win7旗舰版(64位)- 安装

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:bluepoint2009      原文地址:http://www.cnbl ...

  9. windows 7 64位 安装oracle 11g R2

    1.下载Oracle 11g R2 for Windows的版本 下载地址: http://www.oracle.com/technetwork/database/enterprise-edition ...

随机推荐

  1. MySQL 分库、分表

    Mysql Sharding 前言 1)Sharding是按照一定规则重新分布数据的方式 2)解决单机写入压力过大和容量问题 3)  解决单机查询慢的问题 4)本文主要根据用户登录场景分析 Shard ...

  2. vue 刷新当前页面的时候重新调用新的cookie

    data() { return{ AdminToken: this.getCookie('token'), } }, updated() { //刷新当前页面的时候重新调用新的cookie this. ...

  3. JavaSE 学习笔记之反射技术(二十四)

    反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员.简单说:反射技术可以对一个类进行解剖. 反射的好 ...

  4. 数据库——mysql如何获取当前时间---https://www.cnblogs.com/Chenshuai7/p/5136469.html

    数据库——mysql如何获取当前时间 1.1 获得当前日期+时间(date + time)函数:now() -------https://www.cnblogs.com/Chenshuai7/p/51 ...

  5. ACM-ICPC国际大学生程序设计竞赛北京赛区(2015)网络赛 Scores

    #1236 : Scores 时间限制:4000ms 单点时限:4000ms 内存限制:256MB 描述 Kyle is a student of Programming Monkey Element ...

  6. SpringBoot @ConditionalOnBean、@ConditionalOnMissingBean注解源码分析与示例

    前言: Spring4推出了@Conditional注解,方便程序根据当前环境或者容器情况来动态注入bean,对@Conditional注解不熟悉的朋友可移步至 Spring @Conditional ...

  7. MySQL: 让MySQL支持颜文字emoji

    数据库需要支持utf8mb4,如果已经创建了,那么可以用如下命令转换: alter database xxxx character set utf8mb4 collate utf8mb4_unicod ...

  8. mysql中间件amoeba实现mysql读写分离

    Amoeba是一个以MySQL为底层数据存储,并相应用提供MySQL协议接口的proxy.它集中地响应应用的请求,根据用户事先设置的规则.将SQL请求发送到特定的数据库上运行.基于此能够实现负载均衡. ...

  9. C++学习之new与delete、malloc与free

    在C/C++的面试时,对于new/delete和malloc/free这两对的使用和区别经常被考查到,如果这种基础的问题都答不上来,估计很难过面试了.这篇文章仅仅是浅显的讲一下,仅供参考. 一.new ...

  10. .NET 复制A对象值到B对象

    1.最基础的ModelCopy using System; using System.Collections.Generic; using System.ComponentModel; public ...