我在oracle 11 g express edition中有一个数据库。我在本地机器上安装了ODCA(ODAC121012Xcopy_32bit)。我试图从一个简单的控制台c#.net应用程序连接到oracle db。我的c#代码看起来像这样 -
using System;
using Oracle.DataAccess.Client;
namespace ClassLibrary3
{
public class Class1
{
public static void Main(String[] args)
{
string host = "10.237.209.126";
string connStr = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP) (HOST = " + host + ")(PORT = " + 1521 + "))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = " + "edcadmin" + ")));Password=" + "edcadmin" + ";User ID=" + "edcadmin";
OracleConnection conn = new OracleConnection();
conn.ConnectionString = connStr;
try
{
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
}
}
}
主机是32位计算机,安装了Windows 2008服务器。
当我运行此程序时,我得到一个像这样的例外
Oracle.DataAccess.Client.OracleException
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at ClassLibrary3.Class1.Main(String[] args)
我已多次检查连接字符串,这是正确的。我安装了SQLDeveloper,我可以分别使用userId和密码edcadmin,edcadmin查看我的数据库edcadmin。
我花了很多时间试图弄清楚出了什么问题。任何帮助将受到高度赞赏。
编辑:以下是异常的屏幕截图