首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MacOS10.10.3 (Yosemite)上使用ODBC连接R与MySQL数据库

问如何在MacOS10.10.3 (Yosemite)上使用ODBC连接R与MySQL数据库
EN

Stack Overflow用户
提问于 2015-06-29 19:53:34
回答 2查看 1.8K关注 0票数 0

免责声明:我不是程序员,so...be温和。

在过去的几天里,我一直试图让我的Mac电脑上的R工作室连接到一个MySQL数据库。第一个障碍是在运行命令安装ODBC包时:

配置: error:"ODBC标头sql.h和sqlext.h未找到“错误:程序包'RODBC‘**删除’/usr/lib64 64/R/库/RODBC‘的配置失败

在大量搜索之后,我发现通过安装和更新名为brew的命令,通过运行以下命令解决了这个问题:

brew更新& brew安装unixODBC &\ wget "http://cran.r-project.org/src/contrib/RODBC_1.3-10.tar.gz“&& R安装RODBC_1.3-10.tar.gz

安装了RODBC。现在,我试图通过运行以下语法(如在线和包的文档中所描述的那样)连接到数据库:

odbcConnect(dsn,uid = "",pwd = "",.)

当我这样做时,我会得到以下错误:

警告消息: 1:在odbcDriverConnect("DSN=xyz;UID=xyz;PWD=xyz")中: RODBC错误:状态IM012,代码0,消息unixODBCDRIVER关键字语法错误2: In odbcDriverConnect("DSN=xyz;UID=xyz;PWD=xyz"):ODBC连接失败

所以,似乎语法是错误的,但我不知道在哪里。R文档说错误IM012是语法错误(注意:实际凭证替换了'XYZ‘),我有几个问题:

First:

在MySQL工作台上,我输入以下参数来访问数据库: 1.连接名称:数据库的组合名称2.主机名: amazon数据库链接3.端口(缺省值为3306) 4.用户名5.密码

在odbcConnect的RODBC语法中(dsn,uid = "",pwd = "",.)你是否把数据库的位置,大概是一个ip或链接?我尝试了DNS,但它没有工作(即得到相同的语法错误)。

第二版:

最重要的是回答我的问题:

为什么我会得到这个IM012语法错误?正确的语法是什么?在这个语法中,有空间告诉程序数据库位于哪里?

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2015-08-19 22:14:29

如果文件上说:

代码语言:javascript
复制
odbcConnect(dsn, uid = "", pwd = "", ...)

你提供了:

代码语言:javascript
复制
odbcDriverConnect("DSN=xyz;UID=xyz;PWD=xyz")

这不是相同的语法。请注意每个参数的值周围的引号。而且,似乎每个键值对都应该用逗号分隔,而不是分号.

它也没有提到dsn="",它只说'dsn',所以也许您可以用来自MySQL配置的DSN名称替换它,这听起来像是来自MySQL工作台吗?我使用ODBC管理员来创建DSNs,但是在Mac上,它们通常会出现在/Library/ODBC/odbc.ini或用户帐户中类似的位置中。

椭圆表示你可以提供更多的参数。在ODBC配置中,通常在DSN中提供DATABASE="192.168.254.85“、PORT="3306”等,因此不需要在调用该方法时提供参数。UID和PWD是在“运行时”提供的,因此您没有在配置文件中存储凭据。

票数 2
EN

Stack Overflow用户

发布于 2015-06-29 20:01:16

有时您可以在url/IP的开头添加数据库。所以应该是db_name.url_of_databse

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31124404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档