一个老问题,sqlplus连接报错:协议适配器错误,请帮帮忙,谢谢!

njstalk 2015-02-04 01:08:45
环境是这样的,oracle 数据版本是 11g装在 win2008 64系统上面,各项服务正常,本机上用sqlplus 连接正常,服务器打开了1521端口,服务器设置了 oracle_sid=orcl

客户机是win8.1 64位系统,安装了 11g client ,600多M 的那个安装包,安装好后 配置好了tnsnames.ora 文件,用 Oracle Net Manger 程序测试 服务名:orcl 连接正常,情况如下图:

图中的 SID为灰色项 不能设置。
在客户机命令提示符下 ,tnsping orcl 显示正确,ip地址也是正确的,客户机也设置了 oracle_sid=orcl 但是用 sqlplus 连接依然报错:协议适配器错误。。。。。不知道啥原因了,请各位帮帮忙,谢谢!
...全文
9063 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bovachiu 2016-09-01
  • 打赏
  • 举报
回复
遇到一样的情况:用 c:\>sqlplus "user/pass@orcl" 这样的方式就可以登录了,但是直接运行sqlplus 然后输入用户名密码就会提示协议适配器错误。试过网上很多方法,现在终于解决了,是环境变量path值那里的问题,我安装了服务端和客户端,在path值那里把服务端的地址放在客户端的前面就好了。例如这样:D:\Oracle\product\11.2.0\dbhome_1\bin;D:\Oracle\product\11.2.0\client_1\bin;C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin;
slim0730 2016-07-27
  • 打赏
  • 举报
回复
跟你的情况一样,sqldeveloper照常使用,我是虚拟机上装了客户端和服务端。
njstalk 2015-02-05
  • 打赏
  • 举报
回复
感谢各位!还请大家再帮忙看看,谢谢! 很奇怪,我用 c:\>sqlplus "user/pass@orcl" 这样的方式就可以登录了,但是直接运行sqlplus 然后输入用户名密码就会提示协议适配器错误,及时开始设置了 set oracle_sid=orcl 也是一样的报协议适配器错误。 我再环境变量里面设置了 ORACLE_HOME=F:\app\Administrator\product\11.2.0\client_1\bin; 这样还是不行。 我在.net 中,用这样的连接字符串可以连接到数据库: "Provider=OraOLEDB.Oracle;User ID=username;Password=pwd123456;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)));Persist Security Info=True" 但是用下面这样的就不行了: “data source=orcl;User Id=username;Password=pwd123456;” 还请大家再帮忙看看,谢谢。
njstalk 2015-02-05
  • 打赏
  • 举报
回复
请大家再帮帮忙啊
bw555 2015-02-04
  • 打赏
  • 举报
回复
有可能是环境变量的问题,导致sqlplus访问的配置文件不是你当前配置的文件 重新设置oracle_home,试下
不写代码的钦 2015-02-04
  • 打赏
  • 举报
回复
tnsping orcl没问题呀。 貌似之前遇到过, 你把你的程序关掉(你用来登录的程序,如sqlplus或者plsql),重新打开试试。
卖水果的net 2015-02-04
  • 打赏
  • 举报
回复

-- 是这种形式登录的吗?
c:\>sqlplus "user/pass@orcl" 
诸子 2015-02-04
  • 打赏
  • 举报
回复
引用 4 楼 wildwave 的回复:
找到客户端的安装路径,在network/admin/中的tnsnames.ora文件里修改 ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) (CONNECT_DATA = (sid = 你的SID,如ORCL ) ) ) 然后用orcl连接即可
正解
小灰狼W 2015-02-04
  • 打赏
  • 举报
回复
找到客户端的安装路径,在network/admin/中的tnsnames.ora文件里修改 ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) (CONNECT_DATA = (sid = 你的SID,如ORCL ) ) ) 然后用orcl连接即可

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧