Oracle 通信: 无法连接到服务器, 或者无法对连接字符串进行语法分析

Oracle 通信: 无法连接到服务器, 或者无法对连接字符串进行语法分析 at OracleInternal.ConnectionPool.PoolManger `3.Get(ConnectionSreing csWithDiffOrNewPwd,Boolean bGetForApp,OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
请问大神们这个怎么解决啊,我在其他地方使用相同的代码就能用,换了一个地方使用就不好使了
...全文
826 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kgiser 2022-07-01
  • 打赏
  • 举报
回复

请问楼主,做了啥限制?

  • 打赏
  • 举报
回复
谢谢 是医院那边限制了
shawn_yang 2021-01-21
  • 打赏
  • 举报
回复
1,要么就是你连的的数据库是内网的,你内网自己开发测试没问题,到外网自然无法访问,需要改成外网地址
2,就是防火墙端口没开
gs0038 2021-01-19
  • 打赏
  • 举报
回复
引用 3 楼 沿途的风景我只能边走边忘, 的回复:
[quote=引用 1 楼 gs0038 的回复:]1、连接字符串不正确 2、oracle数据库服务器没有开 3、数据库服务器端口没有开 4、开发的电脑网络连接不到数据库服务器 以上就是你这个错误的可能性
你好我这个问题最应该出错的地方是哪里呢 我觉得连接其他Oracle的不同的就是连接字符串不同,第二个和第三个应该是没问题的,第四个我不明白你的意思 [/quote] 一个一个问题解决, 第1条,根据在其他地方使用相同的代码就能用 那么排除 第2条,根据在其他地方使用相同的代码就能用 那么排除 第3条, 检查服务器1521端口是否打开 cmd telnet 服务器IP 1521 第4条, 检查服务器是否能连接上 cmd ping 服务器IP
  • 打赏
  • 举报
回复
引用 2 楼 堆代码的爱因斯坦 的回复:
在其他地方使用相同的代码就能用,换了一个地方使用就不好使了?? 那这两个地方的不同点在哪??
我连接的是医院的数据库,在其他医院能用 换一家就不好使了。说不同的地方应该就是Oracle服务器不同,还有连接字符串不同
  • 打赏
  • 举报
回复
引用 1 楼 gs0038 的回复:
1、连接字符串不正确 2、oracle数据库服务器没有开 3、数据库服务器端口没有开 4、开发的电脑网络连接不到数据库服务器 以上就是你这个错误的可能性
你好我这个问题最应该出错的地方是哪里呢 我觉得连接其他Oracle的不同的就是连接字符串不同,第二个和第三个应该是没问题的,第四个我不明白你的意思
  • 打赏
  • 举报
回复
在其他地方使用相同的代码就能用,换了一个地方使用就不好使了?? 那这两个地方的不同点在哪??
gs0038 2021-01-15
  • 打赏
  • 举报
回复
1、连接字符串不正确 2、oracle数据库服务器没有开 3、数据库服务器端口没有开 4、开发的电脑网络连接不到数据库服务器 以上就是你这个错误的可能性
本章主要讲解oracle客户端连接oracle效劳器,主要有以下内容: 1.配置本地net效劳名配置 2.用sqlplus连接; 3.用toad连接; 一、配置本地net效劳名 首先说明我们的效劳器的IP为60.220.246.53,oracle的SID为czdb。 翻开配置本地net效劳名向导如下列图: 点击进入Net Configuration Assistant,出现如下列图所示: Oracle客户端连接Oracle服务器全文共9页,当前为第1页。 Oracle客户端连接Oracle服务器全文共9页,当前为第1页。 选择默认的添加,然后下一步,如下列图: Oracle客户端连接Oracle服务器全文共9页,当前为第2页。输入效劳名(效劳名其实就是oracle的SID)czdb,然后点击下一步: Oracle客户端连接Oracle服务器全文共9页,当前为第2页。 选择默认TCP,然后选择下一步: Oracle客户端连接Oracle服务器全文共9页,当前为第3页。输入主机名〔即oracle效劳器主机IP〕60.220.246.53,然后进入下一步: Oracle客户端连接Oracle服务器全文共9页,当前为第3页。 然后选择 ,进入下一步: 里面的详细信息说的是密码不对,说明是连接到了效劳器,我们只要改一下用户名和密码就可以了,然后点击更改登录: OK,测试成功; 另说明:查询本用户下的所有表的信息叫数据字典: user_tables;DBA_users; 两类数据字典表 dba一般是system用户 查表的信息从数据字典里查如:select table_name from user_tables; dual是名义表,不存任何东西. Oracle客户端连接Oracle服务 全文共9页,当前为第4页。 Oracle客户端连接Oracle服务 全文共9页,当前为第4页。 Oracle远程连接数据库总结 Oracle代码 : orCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = .xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) orCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 主要的参数为HOST、PORT、SERVICE_NAME 可能的问题: * 连接超时:很大可能性是windows自带的防火墙开着,屏蔽了1521端口 Oracle远程连接数据库总结 注:本文讲述了oracle数据库实例连接的配置过程,三个重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目录下 1. sqlplus sys/oracle@orcl sqlnet.ora 文件格式NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)。客户端就会首先在tnsnames.ora文件中找orcl的记录。如果没有相应的记录那么尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例。 Oracle客户端连接Oracle服务器全文共9页,当前为第5页。这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES时,才会尝试使用这个文件。   #你所要连接的时候输入得TNSNAME,如果listner启动失败尝试改IP地址   ora10gcsdl1 = Oracle客户端连接Oracle服务器全文共9页,当前为第5页。 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ora10gcsdl1) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IBM-66336DAFE8F .ibm )(PORT = 1521)) (CONNECT_DATA = (SERVE

111,101

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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