连接字符串问题Oracle .Net

时间:2011-06-04 16:35:05

标签: c# .net oracle

我是oracle的新手,我试图简单地连接到oracle db,但我不知道在哪里可以找到放入连接字符串的正确凭据。我只是在我的机器上下载并安装了oracle express edition,然后安装了.Net引用。我的简单代码在这里:

 string oradb = "Data Source=XE;User Id=hr;Password=hr;";
            OracleConnection conn = new OracleConnection(oradb); // C#
            try
            {
                conn.Open();
                string sql = "SELECT FIRST_NAME FROM EMPLOYEES WHERE EMAIL='SKING'"; // C#
                OracleCommand cmd = new OracleCommand(sql, conn);
                cmd.CommandType = CommandType.Text;

                OracleDataReader dr = cmd.ExecuteReader(); // C#
                dr.Read();

                //label1.Text = dr["dname"].ToString(); // C# retrieve by column name
                label1.Text = dr.GetString(0).ToString();  // return a .NET data type
                //label1.Text = dr.GetOracleString(0).ToString();  // return an Oracle data type
            }
            catch (OracleException ex)
            {
                label1.Text = ex.Message;
            }
            finally
            {
                conn.Close();
            }

我正在获取TNS:无法解析连接标识符指定的异常。可能是因为我的连接字符串错误是我猜的。我甚至无法访问Visual Studio中的“服务器资源管理器”对话框并正确测试连接到我的oracle db。

我需要采取哪些步骤来确定插入连接字符串的正确凭据? 或者像这样措辞.... 如果您要在您的计算机上安装oracle express,那么连接到.Net应用程序您将采取哪些步骤来设置连接字符串?

1 个答案:

答案 0 :(得分:2)

也许它正在寻找在名为XE的tnsnames.ora文件中定义的数据源。

尝试使用Express版中的Easy Connect命名方法。它使应用程序客户端无需使用任何配置文件即可连接到数据库,只需通过以下语法指定数据源属性:

user id=hr;password=hr;data source=hr-server
user id=hr;password=hr;data source=hr-server:1521
user id=hr;password=hr;data source=hr-server:1521/XE

将hr-server替换为机器的DNS名称或IP。