M4芯片Sequoia系统Mac用RODBC连接MS SQL Server(Windows认证)求助
Mac M4(Sequoia系统)下RODBC连接MS SQL Server(Windows认证)的Kerberos认证问题
近期入手搭载M4处理器、运行Sequoia系统的MacBook Pro,此前一直使用Windows设备,目前正调试相关配置。
在Windows设备上,可通过Windows ODBC管理器配置公司的MS SQL Server(Windows认证),再使用RODBC包连接数据库DSN。但在Mac上配置时遇到诸多问题,已尝试以下操作:
- 按照微软官方文档指引,通过Homebrew安装了ODBC驱动;
- 尝试使用Mac ODBC Manager/iODBC,但无法找到驱动,推测因arm64架构的文件夹结构变化,驱动不在
/usr/local路径,手动指定位置后仍无法建立DSN; - 针对Windows认证问题,参考微软官方文档及Python连接相关教程,配置了Kerberos的
/etc/krb5.conf文件,内容如下:
[libdefaults] default_realm = DOMAIN.COMPANY.COM [realms] DOMAIN.COMPANY.COM = { kdc = tcp/dns1.company.com:88 }
- [更新]重新安装RODBC后,驱动已可被识别,但出现Kerberos认证问题,相关代码及错误信息如下:
library(RODBC) con=odbcDriverConnect('driver={/opt/homebrew/Cellar/msodbcsql18/18.5.1.1/lib/libmsodbcsql.18.dylib}; server=dsn1.company.com,1433; database=company_db; trusted_connection=yes') Warning messages: 1: In odbcDriverConnect("driver=/opt/homebrew/lib/libmsodbcsql.18.dylib; server=dsn1; database=company_db; encrypt=no; trusted_connection=yes") : [RODBC] ERROR: state HY000, code 851968, message [Microsoft][ODBC Driver 18 for SQL Server]SSPI Provider: Server (MSSQLSvc/dsn1.company.com:1433@COMPANY.COM) unknown while looking up 'MSSQLSvc/dsn1.company.com:1433@COMPANY.COM' (cached result, timeout in 1200 sec) (negative cache) 2: In odbcDriverConnect("driver=/opt/homebrew/lib/libmsodbcsql.18.dylib; server=dsn1; database=company_db; encrypt=no; trusted_connection=yes") : [RODBC] ERROR: state HY000, code 851968, message [Microsoft][ODBC Driver 18 for SQL Server]Cannot generate SSPI context 3: In odbcDriverConnect("driver=/opt/homebrew/lib/libmsodbcsql.18.dylib; server=dsn1; database=company_db; encrypt=no; trusted_connection=yes") : ODBC connection failed
已尝试多日仍未解决,恳请相关技术建议。
内容的提问来源于stack exchange,提问作者H.Hung
相关产品推荐
相关产品推荐

