2010-11-06 102 views
7

我想從我的網站(asp.net-mvc)連接到一個oracle數據庫。我必須連接到數據庫的唯一信息是ODBC的指令,它告訴我去:odbc指令連接到oracle

  1. 它說,去到Oracle目錄的機器上,進入一個TSNNames.ora文件,這和輸入:

    DBNAME=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[machine])(port=[port])) 
        (CONNECT_DATA=(SID=[DBNAME]))) 
    
  2. 然後轉到控制面板並通過GUI嚮導手動添加連接。

是否有反正我可以連接到這個數據庫,而不必設置它?我希望能簡單地插入一個連接字符串並在我的路上。我部署到不同的機器,我不想負擔更新.ora文件或通過此GUI嚮導設置。

有人對我有什麼建議嗎?

+0

注:SID = DBNAME,而不是你的用戶名。 – Gaius 2010-11-07 12:51:18

回答

9

請勿使用ODBC。 ODP.NET是由Oracle提供的驅動程序是基於相同的模型與SQL Server:只需下載組件,在你的項目中引用它,使用它:

using (var conn = new OracleConnection("Some connection string")) 
    using (var cmd = conn.CreateCommand()) 
    { 
     conn.Open(); 
     cmd.CommandText = "SELECT id FROM foo"; 
     using (var reader = cmd.ExecuteReader()) 
     { 
      while (reader.Read()) 
      { 
      int id = reader.GetInt32(0); 
      } 
     } 
    }  
+0

查看[這個stackoverflow](http://stackoverflow.com/questions/659341/the-provider-is-not-compatible-with-the-version-of-oracle-client)的最小集庫的詳細信息需要分發。 – 2012-11-29 14:31:40

2

根據類似的問題,Manually connecting to database in Asp.net MVC,沒有魔法參與。像平常一樣連接到數據庫。

有一個VB示例@http://www.aspdev.org/articles/asp.net-mysql-connect/它適用於MySql,但應該足夠簡單以切換到您的Oracle連接字符串。

+0

有人可以解釋downvote?我誤解了這個問題嗎? – Farray 2010-11-06 21:16:02

+0

我認爲這是一個足夠公平的答案 – DaveDev 2010-11-06 22:10:43

+0

Upvoted彌補不合理的downvote。 – 2016-12-20 10:51:21

0

Oracle至少有一個ado.net提供程序,它不需要計算機上的Oracle客戶端。見http://www.devart.com/dotconnect/oracle/。 Devart稱這個功能爲'直接模式'。這個Oracle特定的提供者也可能會比odbc提供者表現得更好。

但有一些我不明白?您已經構建了一個asp.net mvc應用程序,因此您只需要在服務器上安裝。那麼問題是什麼?