相关疑难解决方法(0)

如何在本地用户名下在远程计算机上运行R脚本(使用集成的Windows身份验证具有数据库连接)?

请考虑以下情形:

  • 数据库服务器:DBServer
  • R服务器:RServer
  • Orchestrator服务器:Server1

我们有以下R脚本(DB.r):

lib.directory = "D:\\RTest"
install.packages("RODBC", repos = "http://cran.us.r-project.org", lib = lib.directory)
library(RODBC, lib.loc = lib.directory)

db.string <- "driver={ODBC Driver 13 for SQL Server};server=DBServer;database=Databse1;trusted_connection=Yes;"
db.channel <- odbcDriverConnect(db.string)
close(db.channel)
Run Code Online (Sandbox Code Playgroud)

Server1使用以下代码在R Server上远程执行R脚本:

PsExec.exe \\RServer "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "D:\RTest\DB.r"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[RODBC] ERROR: state 28000, code 18456, message [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Run Code Online (Sandbox Code Playgroud)

如何在不发送用户名和密码作为PsExec的一部分的情况下解决此错误?

我们愿意使用任何替代方法来取代PsExec.

database windows kerberos r psexec

2
推荐指数
1
解决办法
2364
查看次数

标签 统计

database ×1

kerberos ×1

psexec ×1

r ×1

windows ×1