2013-06-12 25 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位。

它应该准备好工作