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