2

我的连接失败并显示以下消息:“无法在动态链接库 oraons.dll 中找到过程入口点 ons_subscriber_cancelcallback”。

有人可以帮忙吗?

代码非常简单:

  string oradb = "";
  oradb = "Data Source=MYORADB;Password=MYPASS123;User ID=MYUSERID;";
  OracleConnection conn = new OracleConnection(oradb);
  conn.Open(); 

我已经用这些凭据连接了 TOAD。

4

2 回答 2

1

对我来说,解决方案是访问我下载并安装最新版本的Oracle 数据访问组件 (ODAC) 的 Oracle 网站。

您需要小心为您的编程环境安装正确的版本。就我而言,它是版本 12c(64 位)。

从那里,我将Oracle.DataAccess.dll引用重定向到我刚刚安装的版本。

于 2015-06-11T14:01:40.107 回答
0

您那里似乎没有数据库 IP 或端口号。一旦你有了这些,尝试使用 Oracle EZCONNECT 格式:

//Check that MYORADB is your actual SID number
string oradb = getConnectionString("10.1.2.3", 1521, "MYORADB", "MYUSERID", "MYPASS123");
OracleConnection conn = new OracleConnection(oradb);
conn.Open(); 

private static string getConnectionString(string databaseIP, int databasePort, string databaseSID, string databaseUN, string databasePW)
{
    return string.Format(
        "Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = {1}))(CONNECT_DATA =(SID = {2})));" +
        "Persist Security Info=True;User ID={3};Password={4}",
        databaseIP, databasePort, databaseSID, databaseUN, databasePW
    );
}
于 2013-09-23T21:20:25.443 回答