2013-06-12 60 views
10

我一直在試圖使用odbcConnect命令我公司的DMS連接到R,但得到以下信息:無法連接到ODBC數據庫中的R

myConn <-odbcConnect("NZSQL", uid="cejacobson", pwd="password") 
Warning messages: 
1: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") : 
    [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified 
2: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") : 
    ODBC connection failed 

的事情是,我敢肯定的數據源名稱是NZSQL,我的用戶名和密碼也是正確的。任何有關爲什麼R可能找不到我的數據源/驅動程序(驅動程序,順便說一下,指定和工作)的見解。

謝謝!

+0

你在哪個操作系統上,什麼是RDBMS?你知道哪些驅動程序可用 - 它只是unixODBC? –

+1

您是否嘗試過在「數據源(ODBC)」工具中設置數據庫? –

+0

這看起來像是ODBC錯誤,而不是R錯誤。它沒有找到所需的驅動程序/連接。確保首先設置。 –

回答

4

當我第一次嘗試連接到Oracle數據庫時,遇到了同樣的問題。最後什麼對我來說是使用odbcDriverConnect和連接字符串,而不是odbcConnect

myConn <-odbcDriverConnect("Driver={Oracle in OraClient11g_home1};Dbq=NZSQL;Uid=cejacobson;Pwd=password;") 

您可以在https://www.connectionstrings.com/上檢查您的數據庫的特定連接字符串。我碰巧是this one

希望這會有所幫助。

0

對我來說有效的是32位連接而不是64位連接。

1

我試圖訪問SQL Server數據庫,並得到相同的錯誤。使用正確格式的數據庫連接後,我有權訪問我的sql服務器數據庫。

dbhandle <- odbcDriverConnect("Driver={SQL Server};Server=mydbhost;Database=mydbname;Trusted_Connection=Yes") 
0

我知道這是舊的,但也確保您刪除'='標誌周圍的空格。那是我的問題。

0

這是IM02錯誤,表示DSN的名稱不正確。

轉到ODBC並檢查您應該使用的USER/System DSN。一旦您的DSN名稱正確,您可能會遇到IM014狀態錯誤,即構建不匹配。在這種情況下,

更簡單的解決方案是 IN r studio - 轉到工具並將R的版本更改爲32位。

它應該準備好工作