RODBC 连接问题

Posted

技术标签:

【中文标题】RODBC 连接问题【英文标题】:RODBC connection issues 【发布时间】:2016-10-12 21:15:45 【问题描述】:

我的连接字符串有问题,我似乎无法弄清楚。

这是我的代码——

datalithicdb <- odbcDriverConnect(connection="Driver=SQL Server;localhost/sqlexpress;database=datalithic;trusted_connection=TRUE;")

——以及我收到的错误信息——

Warning messages:
1: In odbcDriverConnect(connection = "Driver=SQL Server;localhost/sqlexpress;
   database=datalithic;trusted_connection=yes;"):
      [RODBC] ERROR: state 08001, code 0, message [Microsoft][ODBC SQL 
      Server Driver]Neither DSN nor SERVER keyword supplied 
2: In odbcDriverConnect(connection = "Driver=SQL Server;localhost/sqlexpress;
   database=datalithic;trusted_connection=yes;"): 
      [RODBC] ERROR: state 01S00, code 0, message [Microsoft][ODBC SQL 
      Server Driver]Invalid connection string attribute 
3: In odbcDriverConnect(connection = "Driver=SQL Server;localhost/sqlexpress;
   database=datalithic;trusted_connection=yes;"):
      ODBC connection failed

当我直接从 SQL Management Studio 打开数据库时,Windows 身份验证工作正常。

Web 开发新手,非常感谢任何帮助。

【问题讨论】:

trusted_connection=yes 更改为 trusted_connection=TRUE 改了,还是出现同样的错误 还是没有答案,来R社区吧…… 【参考方案1】:

您似乎缺少 server=,并且您的计算机名称和 SQLEXPRESS 之间还需要一个双斜杠。而不仅仅是 ;localhost/sqlexpress 它应该说

;server=yourCOMPUTERname\\SQLEXPRESS

因此,如果您的数据库名为 datalithic,而您的计算机名为 workstation123,并且您使用的是 Microsoft SQL Express,并且您的 SQL 服务器使用您的 Windows 身份验证进行连接,那么您的 R 连接将如下所示:

datalithicdb<-odbcDriverConnect(connection="Driver=SQL Server;server=workstation123\\SQLEXPRESS;database=datalithic;trusted_connection=TRUE;")

【讨论】:

以上是关于RODBC 连接问题的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2014 RODBC 连接

运行 randomForestSRC 后 RODBC 失去连接

显示所有打开的 RODBC 连接

尝试连接数据库时出现 RODBC 错误代码 202

RODBC - 连接字符串添加用户名和密码

“升级”到 Office 365 专业增强版后的 RODBC 连接