连接字符串问题 Oracle .Net

4

我是oracle的新手,正在尝试简单地连接到一个oracle数据库,但是我不确定在连接字符串中放置正确凭据的位置。我只是下载并安装了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:could not resolve the connect identifier specified 异常,很可能是因为我的连接字符串有误。我猜测我甚至无法正确地在 Visual Studio 中的“服务器资源管理器”对话框中测试连接到我的 Oracle 数据库。
我需要采取哪些步骤才能找出插入连接字符串的正确凭据?或者换种说法……如果您要在计算机上安装Oracle Express,并连接到一个.NET应用程序,您会采取哪些步骤来设置连接字符串?
1个回答

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地址。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接