c# – 连接字符串问题Oracle .Net

我是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应用程序,您将采取哪些步骤来设置连接字符串?

最佳答案 也许它正在寻找在名为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.

点赞