2011-06-04 113 views
3

我是新來的oracle,我試圖簡單地連接到一個oracle數據庫,但我不知道在哪裏找到適當的憑據放入連接字符串。我只是在我的機器上下載並安裝了oracle express版本,然後安裝了.Net引用。我的簡單代碼在這裏:連接字符串問題Oracle .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數據庫。

我需要採取哪些步驟來確定插入連接字符串的正確憑據? 或者像這樣寫...... .... 如果你打算在你的機器上安裝oracle express,那麼連接到一個.Net應用程序你會採取哪些步驟來設置連接字符串?

回答

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-服務器本機的DNS名稱或IP。