通过RODBC连接到远程MySQL数据库返回0行

时间:2016-05-16 09:07:12

标签: mysql r rodbc rmysql

我正在使用Windows 10 64位。 我下载了一个MySQL 64位ODBC驱动程序并通过管理工具进行设置 - > ODBC驱动程序。我把MySQL数据库的IP地址,id和密码,然后点击"测试"这证实了连接正常。 我在R

中运行了以下代码
library("RODBC")
ch <- odbcConnect("xyz")
sqlTables(ch)

这给了我一个结果

[1] TABLE_CAT   TABLE_SCHEM TABLE_NAME  TABLE_TYPE  REMARKS    
<0 rows> (or 0-length row.names)

DBA向我发送了一个网络链接(phpMyAdmin),我使用相同的ID和密码登录。在那里,我可以浏览并看到有2个数据库 - x和y,我需要访问y数据库中的表z。有人能告诉我我做错了什么或为什么sqlTables返回0行?

如果我尝试运行sqlFetch(ch,"z"),则说:

Error in odbcTableExists(channel, sqtable) : 
  ‘z’: table not found on channel

如果我浏览phpMyAdmin链接,我可以看到z存在... 我是数据库管理和R的新手,所以任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

我找到了答案! 当我们必须在Windows中设置ODBC连接时,我需要在管理工具中选择数据库 - &gt; MySQL ODBC Connector选项(以及id和密码)。 所以选择数据库 - &gt; 'y'然后允许我的SQLFetch工作。

我希望这可以帮助那些陷入类似问题的人。