我当前正在尝试从rstudio内部连接到某些SQL数据库。
使用Windows身份验证的第一个数据库,我可以轻松地使用以下方式访问:
con <- dbConnect(odbc(), Driver = "SQL Server", Server = "ServerName",
Database = "DatabaseName", Trusted_Connection = "True")
但是,我们还有另一个数据库,该数据库需要集成的Active Directory身份验证,并且上述代码(更改了相关服务器和数据库名称)将生成错误:
Error: nanodbc/nanodbc.cpp:950: HY000: [Microsoft][ODBC SQL Server Driver][SQL Server]Windows logins are not supported in this version of SQL Server.
我尝试了各种事情,包括以下内容:
con <- dbConnect(odbc(), Driver = "SQL Server", Server = "Server_Two_Name",
Database = "Database_2_Name", Trusted_Connection = "True", Authentication = "ActiveDirectoryIntegrated")
con <- dbConnect(odbc(), Driver = "SQL Server", Server = "Server_Two_Name",
Database = "Database_2_Name", Trusted_Connection = "FALSE", Authentication = "ActiveDirectoryIntegrated")
但是,我没有尝试过任何东西允许我成功建立联系。(如果我指定服务器和数据库名称,并将身份验证设置为" Active Directory-集成",而无需输入密码或用户名,则可以使用SQL Server Management Studio成功连接到数据库。
)。我尝试在https://db.rstudio.com和DBI和ODBC软件包的文档上阅读指南,但我没有完全理解所提供的信息。
请任何人建议吗?
这适用于我的Azure Cloud SQL Server数据库,该数据库需要" Azure Active Directory-集成"身份验证:
#Database Connection Details
SQL_SERVER_NAME <- "Your SQL Server Name Goes Here"
SQL_DATABASE_NAME <- "Your Database Name Goes Here"
# Connect to database (assumes odbc and DBI packages are installed and libraries added)
con <- dbConnect(odbc(),
Driver = "ODBC Driver 17 for SQL Server",
Server = SQL_SERVER_NAME,
Database = SQL_DATABASE_NAME,
Authentication = "ActiveDirectoryIntegrated"
)
也请注意,这也需要在计算机上安装SQL Server的ODBC驱动程序17。