我想在本地实例上运行的SQL Server数据库中创建一个表,并用我用R编写的预测模型填充它;为此,我调用了以下R脚本行:
predictionSql = RxSqlServerData(table = "Logit_FPD60_ZIP", connectionString = connStr)predict_logit = rxPredict(logit_model, input_data, outData = predictionSql)
…返回的结果是:
[Microsoft][ODBC SQL Server Driver][SQL Server]用户’我的服务器’登录失败。
我可以建立连接并从服务器预览数据。
我已经尝试了:
- 在我的SQL Server安全属性中设置SQL Server和Windows身份验证模式,并重启服务和启动板。
- 创建一个通用的SQL Server连接器
如下所示:
[ODBC] DRIVER=SQL Server Native Client 11.0 DATABASE=Predict WSID=NB-IT-JIRAK APP=Operační systém Microsoft® Windows® Trusted_Connection=Yes SERVER=NB-IT-JIRAK\SJ Description=Generic SQL Connector
我在R中使用这个连接字符串:
connStr <- paste("Driver=SQL Server; Server=", "NB-IT-JIRAK\\SJ", ";Database=", "Predict", ";Trusted_Connection=true", sep = "");
我遗漏了什么?我是R的新手,任何帮助将不胜感激。提前感谢。
回答:
如果是测试机器或使用特权账户,请将连接字符串更改为sa
:
connection_string <- sprintf("Driver=SQL Server;Server=%s;Database=%s;Uid=sa;Pwd=mypass", server, db_name)commented: --> connection_string <- sprintf("Driver=SQL Server;Server=%s;Database=%s;Trusted_Connection=Yes", server, db_name)