[英]Issue connecting to SQL Server using DBI:dbConnect in R
我尝试的第一种方法有效。 我首先在Windows上与ODBC data source administrator
定义了ODBC连接my_connection_name
。 然后,我使用以下代码:
library(DBI)
library(odbc)
con <- DBI::dbConnect(odbc(),
dsn='my_connection_name',
UID = "firstname.lastname@company.com",
PWD = "mypassword")
这样很好!
但是,当我尝试在dbConnect
函数中定义驱动程序,服务器和数据库名称时。 它失败!
con <- DBI::dbConnect(odbc(),
Driver = "ODBC Driver 13 for SQL Server",
Server = 'my_server_name',
Database = "my_database_name",
UID = "firstname.lastname@company.com",
PWD = "mypassword",
Trusted_Connection = "yes")
我收到错误消息:
Error: nanodbc/nanodbc.cpp:950: 08S01: [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: An existing connection was forcibly closed by the remote host.
有趣的是,当我删除Trusted_Connection = "yes"
。
con <- DBI::dbConnect(odbc(),
Driver = "ODBC Driver 13 for SQL Server",
Server = 'my_server_name',
Database = "my_database_name",
UID = "firstname.lastname@company.com",
PWD = "mypassword")
我收到这样的错误消息:
错误:nanodbc / nanodbc.cpp:950:HY000:[Microsoft] [用于SQL Server的ODBC驱动程序13] [SQL Server]无法打开登录请求的服务器“ company.com”。 登录失败。
之前定义ODBC连接时,我使用了相同的驱动程序,服务器和数据库名称。
我的身份验证选项是ActiveDirectoryPassword
。
有人知道发生了什么吗?
如果使用Trusted Connection =是,则无需提供用户名和密码。 您的服务帐户将用于连接到SQL Server。
con <- DBI::dbConnect(odbc(),
Driver = "ODBC Driver 13 for SQL Server",
Server = 'my_server_name',
Database = "my_database_name",
Trusted_Connection = "yes")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.