最近在使用powerdesigner连接远程oracle进行反向工程操作时,出现了一些问题,这些问题很普遍,大多是由于配置引起的

说明:
(1)远程数据库版本问 oracle11g 64bit

(2)本地同时安装 :
oracle11g client 32bit
oracle11g 64bit

(3)本机安装powerdesigner 15.2

(3)前期准备:
直接拷贝oracle服务端的%ORACLE_HOME%\network\admin\tnsnames.ora文件
到oracle客户端%ORACLE_Client%\network\admin\ 目录中

问题:
问题一、ORA-12560: TNS: 协议适配器错误
问题二、ORA-12557: TNS: 协议适配器不可加载
问题三、ORA-12504:TNS监听程序在connect-data中未获得service-name

参考文章
http://coffeehot.iteye.com/blog/2151955

http://blog.sina.com.cn/s/blog_677d8b260100w0vg.html

http://worms.blog.51cto.com/969144/1293265

http://quentinxu.iteye.com/blog/1988107

http://www.xuebuyuan.com/1026765.html

使用powerdesigner连接远程oracle进行反向工程时每一步出现的问题以及处理总结:

问题一:
启动反向工程连接远程oracle数据库,报第一个错误
ORA-12560: TNS: 协议适配器错误

经确认问题所在为本地同时安装了oracle服务端,以及oracle客户端,
且本地PATH环境变量同时写入的 oracle服务端以及oracle客户端的bin目录,

本人处理方法为,PATH环境变量中的本地oracle服务端bin目录字符串,仅保留本地oracle客户端的bin目录路径字符串。
注:
以上的参考链接中包含的方法有
(1) 去除PATH环境变量的client的bin目录,
(2) 切换PATH环境变量中的本地oracle服务端bin目录路径字符串 到 本地oracle客户端的bin目录路径字符串之前,
(3) 设置ORACLE_SID

本人尝试以上方式后未能成功

问题二:
在完成以上配置处理后,重新执行反向工程,连接远程oracle,此时又报出另一个错误
ORA-12557: TNS: 协议适配器不可加载

在参看了 http://blog.sina.com.cn/s/blog_677d8b260100w0vg.html
处理步骤为
(1)执行以下命令注册oracle客户端的 oracle ole 驱动,例如本机目录如下
regsvr32 E:\app32\Administrator\product\11.2.0\dbhome_1\BIN\OraOLEDB11.dll

这样就完成了注册,
注:
由于这里只涉及powerdesigner连接oracle进行反向工程,因此关于plsql的操作不在处理范围之内。

问题三:
完成以上两个问题的处理,再次执行powerdesigner的反向工程,连接远程oracle,继续报错

ORA-12504:TNS监听程序在connect-data中未获得service-name

该问题可以确认是客户端 %oracle_client%\network\admin\目录 tnsnames.ora 文件的配置问题

以下是配置的例子

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

)

orcl.16.56.232 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.56.232)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl.16.56.232)
)
)

大致说明为:我配置了连接本地oracle服务端的localhost
以及连接远程oracle服务端的172.16.56.232

总结:
1、出现类似问题,首先检查确认oracle服务是否正常启动
2、客户端环境变量配置是否正确(参考文中内容)
3、同时安装了服务端以及客户端时,配置尤为需要注意。

----------------------2014-11-19 22:41:30 更新----------------------------

在windows7 64位环境下执行问题二解决方法的 cmd注册命令时出现错误,是由于64位系统引起的,可以尝试在dos命令行,cd到目录 C:\Windows\SysWOW64下,

再执行 regsvr32 E:\app32\Administrator\product\11.2.0\dbhome_1\BIN\OraOLEDB11.dll

oracle_协议适配器错误_协议适配器不可加载_TNS监听程序在connect-data中未获得service-name的更多相关文章

  1. 安装完ODAC,出现ORA-12560:TNS:协议适配器错误 12541 无监听程序的解决

    进入系统环境变量设置,查看Path路径,发现D:\oracle\product\11.2.0\client_1等路径放到了oracle11g数据库路径前面,将新加入的路径置后即可解决ORA-12560 ...

  2. TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序

    文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com. Luocs说:这 ...

  3. oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案

    oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案   问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...

  4. oracle监听程序无法启动(TNS-12560: TNS: 协议适配器错误,TNS-00530: 协议适配器错误)

    问题描述1:   C:\Users\Administrator>lsnrctl start LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Pr ...

  5. Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

    问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...

  6. ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

    服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小. 使用 ...

  7. ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程”的异常

    简单说明:我们开发时多人开发,会频繁访问服务器数据库,结果当连接数大的时候,就会报ora-12516的错误,ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程"的异常 ...

  8. 转载:ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序” 解决方案

    ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序” 解决方案   简单描述一下场景,总共两台应用服务器,每台安装3个tomcat进行集群,并通过nginx做了负载均衡,今天在生 ...

  9. 【ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序】

    服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小. 取得 ...

随机推荐

  1. C语言1-2019秋第一周作业

    第一周作业 1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求 ...

  2. PHP类知识----foreach

  3. Tomcat与Jetty比较

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器. 它有一个基本数据模型,这个数据模型就是 Handler(处理 ...

  4. Lyft 基于 Flink 的大规模准实时数据分析平台(附FFA大会视频)

    摘要:如何基于 Flink 搭建大规模准实时数据分析平台?在 Flink Forward Asia 2019 上,来自 Lyft 公司实时数据平台的徐赢博士和计算数据平台的高立博士分享了 Lyft 基 ...

  5. composer.json文件解读

    composer.json文件内容 laravel { "name": "laravel/laravel", //name 表示包的名称,由作者名和项目名组成, ...

  6. jpa单向一对多

    单向一对多是一个类中的一条记录可对应另一个类的多条记录: 比如一个部门可对应多个员工:   jpa中的实现步骤:     one-to-many的one类中添加一个many类类型的set;比如部门类D ...

  7. web+大文件上传

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  8. 这一次,彻底弄懂「Java字节码文件」

    提前祝福各位读者

  9. Vue_(组件)计算属性

    Vue计算属性中文文档 传送门 Vue计算属性:更强大的属性声明方式,可以对定义的属性进行逻辑处理与数据监视; 注意:模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑 ...

  10. Git本地安装

    1 Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码 ...