4

好的,所以我有一个连接到 mssql 数据库的脚本,我需要作为我已经完成的服务运行,但是当我将它作为服务运行时,它会覆盖我在连接到数据库时输入的凭据广告计算机帐户。

当我自己运行它而不是作为服务运行时,它运行完美。

我的连接字符串是:

'DRIVER={SQL Server};SERVER=MyServer;DATABASE=MyDB;UID=DOMAIN\myusername;PWD=A;Trusted_Connection=True'

错误是:

Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'DOMAIN\COMPUTERNAME')

有什么建议吗?

4

2 回答 2

2

在我从事的最后一个项目中,我发现DRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=DBName在受信任模式下启动数据库连接就足够了。

如果它仍然不起作用,则可能是

1)mssql服务器上的账号DEEPTHOUGHT 设置不正确。

2)服务中的runAs设置不正确(为什么错误消息提到'ComputerName'而不是'DEEPTHOUGHT'?)

于 2012-04-03T20:36:46.660 回答
0

以下连接字符串将使用 Windows 身份验证,使用运行服务的帐户对数据库进行身份验证。将服务帐户更改为具有数据库访问权限的帐户:

'DRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=DBName;Trusted_Connection=yes'

要更改服务帐户:

  • 开始 -> 运行 -> services.msc
  • 右键单击服务-> 属性
  • 登录选项卡
  • 确定/应用以保存更改

更改服务帐户的窗口截图

于 2012-04-03T20:15:09.997 回答