最近在使用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. ajax请求自动刷新页面

    ajax是异步请求技术,可以实现页面的局部刷新.但是今天写代码的时候发现每次ajax之后都会发生整个页面的刷新,最后发现这是因为触发ajax事件的input标签的type设置为了submit,所以会产 ...

  2. Java-ZipUtil工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

  3. buuctf@ciscn_2019_n_1

    from pwn import * #io=process('./ciscn_2019_n_1') io=remote('node3.buuoj.cn',28216) io.sendline(0x38 ...

  4. CentOS 安装oracle client

    下载Oracle Client 1.通过下载地址下载 下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x8 ...

  5. 配置Multipath多路径环境

    iscsi服务器      eth0:192.168.4.5/24  eth1:192.168.2.5/24 iscsi客户端      eth0:192.168.4.100/24  eth3:201 ...

  6. 清除Tomcat缓存

        删除tomcat目录下的缓存文件分别位于:                   tomcat/work                 tomcat/temp                  ...

  7. vue学习时遇到的问题(二)

    1. this.$nextTick veu中进行数据改变后,并不会马上刷新视图:用nextTick可告诉执行下个函数后马上刷新视图: this.$nextTick(function(){     // ...

  8. jquery mouseenter()方法 语法

    jquery mouseenter()方法 语法 作用:当鼠标指针穿过元素时,会发生 mouseenter 事件.该事件大多数时候会与 mouseleave 事件一起使用.mouseenter() 方 ...

  9. MessagePack Java Jackson Dataformat - 列表(List)的序列化和反序列化

    在本测试代码中,我们定义了一个 POJO 类,名字为 MessageData,你可以访问下面的链接找到有关这个类的定义. https://github.com/cwiki-us-demo/serial ...

  10. java源码学习(一)String

    String表示字符串,Java中所有字符串的字面值都是String类的实例,例如"ABC".字符串是常量,在定义之后不能被改变,字符串缓冲区支持可变的字符串.因为 String ...