下面的代码在编码时工作正常。我在IIS中发布代码,然后连接失败。
我知道,当我编码时,我的窗口登录为凭据,而在IIS中,它正在使用AppPool Identity。如何将我的Windows登录凭据传递给connectionstring?
Public Shared Function DbCollection(connectionString As String) As DatabaseCollection
Dim server As New Microsoft.SqlServer.Management.Smo.Server(connectionString)
Return server.Databases
End Function
错误:
Login failed for user 'Domain\Computername$'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Login failed for user
'Domain\Computername$'.
答案 0 :(得分:1)
基于错误,您的SQL可能与IIS不在同一个框中......以下是不同的可能选项,具体取决于配置:
答案 1 :(得分:0)
我要添加到@ smoore的帖子,很多依赖于连接字符串和允许传入连接的sql server的配置。它可能被设置为仅允许sql用户,而不是看起来像问题描述的windows用户。您能否提供连接字符串的详细信息(在粘贴之前匿名/删除用户/密码!)以及sql server实例允许的身份验证模式?