2015-09-04 159 views
2

早上好,C# - 未找到數據源名稱並且沒有指定默認驅動程序異常錯誤

我正在嘗試使用ODBC連接來連接到我的數據庫。

private OdbcConnection connect = new OdbcConnection("DSN = My Data Source; DATABASE = MyDB;"); 
// From research I discovered that some people use DB instead of DATABASE. 

谷歌搜索錯誤後,我發現名稱指定這種情況發生時,ODBC DSN連接中沒有這樣的名稱。當應用程序正在查找32位版本時,也可能會出現該問題,但是,僅安裝了64位版本。我去System32下SysWOW64中,並確保設置每個ODBCAD32可執行的系統DSN ODBC連接。

錯誤: enter image description here

有什麼建議?難道這是由於我的DSN有名字涉及空間的事實嗎?由於DSN正在被其他軟件使用,因此DSN已正確設置。

感謝, 艾薩克

回答

0

行,所以即使我設置的ODBC連接內的用戶,我必須設定的用戶名和密碼這樣:

private OdbcConnection connect = new OdbcConnection("DSN=My Data Source; UID=User; PWD=Password;"); 

而且另一個問題是,我通常適用周圍等號空間。這導致連接錯誤。所以做不是做如下:

private OdbcConnection connect = new OdbcConnection("DSN = My Data Source; UID = User; PWD = Password;"); 
0

這個錯誤通常是由於權限不足的發生讀取DSN註冊表項

授予用戶帳戶來訪問指定的ODBC系統DSN註冊表項如下: 確定哪些帳戶用於處理ASP頁面的請求。 從開始菜單中,單擊Run,鍵入regedt32.exe,然後單擊確定以啓動註冊表編輯器。 在HKEY_LOCAL_MACHINE窗口中,瀏覽至HKLM\SOFTWARE\ODBC\ODBC.INI密鑰。 ODBC.INI鍵包含在服務器上註冊的每個ODBC SYSTEM DSN的子項。 單擊在ADO連接字符串中指定的DSN的DSN註冊表項。 從Security菜單中,單擊Permissions。 將您在步驟1中確定的用戶帳戶添加到可以訪問此密鑰的用戶列表中,併爲該用戶選擇Read複選框。 單擊Apply,然後關閉註冊表編輯器。

+0

謝謝你的回覆:) –

相關問題