当前位置: 首页 > 知识库问答 >
问题:

C#连接到Oracle数据库错误ORA-12545:连接失败,因为目标主机或对象不存在

云项禹
2023-03-14

我想从C#连接到Oracle数据库,但我不能,因为ORA-12545:连接失败,因为目标主机或对象不存在,所以我该如何连接?

C#代码

  string strConn = "Data Source =(DESCRIPTION =" +
                                 "(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-EIQ5MRF)(PORT = 1521))" +
                                 "(CONNECT_DATA =" +
                                 " (SERVER = DEDICATED)" +
                                 "(SERVICE_NAME = XE)" +
                                 ")" +
                                 ");User Id =system;password=bluesky;";
                OracleConnection conn = new OracleConnection(strConn);

                conn.Open();
                conn.Close();

听众。奥拉

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=C:\oraclexe\app\oracle\产品\11.2.0\服务器)(PROGRAM=extproc))(SID_DESC=(SID_NAME=CLRExtProc)(ORACLE_HOME=C:\oraclexe\app\oracle\产品\11.2.0\服务器)(PROGRAM=extproc))

侦听器=(DESCRIPTION_LIST=(DESCRIPTION=(地址=(协议=IPC)(密钥=EXTPROC1))(地址=(协议=TCP)(主机=DESKTOP-EIQ5MRF)(端口=1521)))

默认_服务_侦听器=(XE)

斯奈姆斯。奥拉

XE=(描述=(地址=(协议=TCP)(主机=桌面-EIQ5MRF)(端口=1521))(连接数据=(服务器=专用)(服务名称=XE)))

EXTPROC_CONNECTION_DATA=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))(CONNECT_DATA=(SID=PLSExtProc)(PRESENTATION=RO)))

ORACLR_CONNECTION_DATA=(描述=(ADDRESS_LIST=(地址=(协议=IPC)(密钥=EXTPROC1))(CONNECT_DATA=(SID=CLRExtProc)(表示=RO))

共有1个答案

西门洛城
2023-03-14

错误

ORA-12454:连接失败,因为目标主机或对象不存在

这意味着你的连接字符串有问题,再次检查所有访问数据、机器名并尝试使用此连接字符串,你忘记添加“地址列表”,检查文档。在这里

使用ODP. NET而不使用tnsnames.ora,应该像

    var sampleConn= @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=    (PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))
                    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));
                     User Id=myUsername;Password=myPassword;"

所以你的连接字符串应该是

   string strCon =@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=DESKTOP-EIQ5MRF)(PORT=1521)))
                             (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));
                             User Id = system; Password = bluesky; ";
 类似资料:
  • 我想连接Java类文件与SQL server 2012。我已通过SQL server身份验证登录。但我接收到连接错误。 错误:到主机127.0.0.1端口1433的TCP/IP连接失败。错误:“连接拒绝:连接。验证连接属性。确保主机上正在运行SQL Server实例并接受端口上的TCP/IP连接。确保到端口的TCP连接没有被防火墙阻止。” 我的代码---

  • 我无法让我的听众开始,我花了几个小时搜索论坛,找不到任何解决方案。我的目标是启动APEX,但首先我必须让听众起来 C:\用户\matulewi 64位Windows的LSNRCTL:11.2.0.2.0版-生产日期:2015年8月28日15:20:45 版权所有(c)1991年,2014年,Oracle。版权所有。 开始tnslsnr:请等待... 64位Windows的TNSLSNR:Versi

  • 问题内容: 我正在尝试当前连接到当前计算机上的数据库。 我不断收到此错误,但我不知道为什么… 在我的服务器中,我使用了命令(以sys登录)SQL>从v $ thread选择实例;(它返回)实例-> xe 我可能做错了什么? 谢谢! PS我也尝试了127.0.0.1而不是localhost 问题答案: 检查目录下的listener.ora文件是否具有以下值:

  • 主要内容:使用SQL * Plus连接到Oracle数据库服务器,使用SQL Developer连接到Oracle数据库服务器在本教程中,您将学习如何使用和SQL Developer 工具连接到Oracle数据库服务器。 使用SQL * Plus连接到Oracle数据库服务器 是安装Oracle数据库服务器或客户端时自动安装的交互式查询工具。 有一个命令行界面,允许您连接到Oracle数据库服务器并交互执行语句。 注意:如果有使用过MySQL或PostgreSQL,与MySQL中的mysql程序

  • 问题内容: 我在用 Windows 7的 Netbeans IDE 7.1.2 SQL Server管理Studio Express 2005 JDK1.6 连接到数据库时出现以下错误: com.microsoft.sqlserver.jdbc.SQLServerException:与主机的TCP / IP连接失败。java.net.ConnectException:连接被拒绝:connect 我

  • 错误:无法启动连接:错误:WebSocket无法连接。在服务器上找不到连接,endpoint可能不是信号器endpoint,服务器上不存在连接ID,或者存在阻止WebSocket的代理。如果有多台服务器,请检查是否启用了粘性会话。 WebSocketTransport.js:49WebSocket连接到“ws://xxxxxx/生产/网络服务/集线器/spreadhub”失败: Angular.t