如何在R中通过SQL Server Authentication连接数据库?
解决R中DBI连接SQL Server Authentication身份验证的问题
要通过R的DBI连接采用SQL Server Authentication的数据库,你需要将authentication参数设置为'SqlPassword'——这是ODBC连接字符串中对应该身份验证类型的标准有效值,之前尝试的'SQLServer'和'SQL Server'都不符合规范。
以下是完整的连接代码示例(需搭配odbc包使用):
library(DBI) library(odbc) # 建立连接 db_conn <- dbConnect( drv = odbc::odbc(), Driver = "ODBC Driver 17 for SQL Server", # 根据你安装的驱动版本调整 Server = "你的服务器地址\\实例名", # 若有实例需加\\,无实例则直接写服务器地址 Database = "目标数据库名", UID = "SQL Server账号", PWD = "账号密码", Authentication = "SqlPassword" ) # 验证连接(可选) dbListTables(db_conn) # 用完后关闭连接 dbDisconnect(db_conn)
额外注意事项:
- 确认已安装对应版本的ODBC驱动(推荐ODBC Driver 17或18 for SQL Server),驱动名称必须和代码中
Driver参数完全匹配 - 如果是Windows身份验证,才需要用
Authentication = 'ActiveDirectoryIntegrated',而SQL Server身份验证必须用SqlPassword - 若服务器有端口号,需在Server参数后添加
,端口号,比如Server = "192.168.1.100,1433"
内容的提问来源于stack exchange,提问作者Wallace H
相关产品推荐
相关产品推荐

