簡體   English   中英

具有模擬功能的WCF服務無法連接到SQL Server,但是同一台計算機上的SSMS將

[英]WCF service with impersonate cannot connect to SQL Server, but SSMS on the same machine will

我有一個問題,我根本無法解決問題。 在底部,有一個WCF服務(.NET 4.0),該服務被配置為模擬有效用戶,如下所示:

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <identity impersonate="true" password="abc123" userName="domain\theuser" />
</system.web>

和一個SQL Server連接字符串,如下所示:

<connectionStrings>
    <add name="MyTest.Service.Properties.Settings.ConnStr"
         connectionString="Data Source=192.168.0.54;Initial Catalog=TheDatabase;Integrated Security=SSPI;" />
</connectionStrings>

我有WCF服務在IIS7下運行,並且在應用程序池中也以相同的用戶憑據運行。

如果我嘗試使用這些憑據(在SQL Server上將用戶設置為有效用戶)訪問這些憑據,則在SAME計算機上的SSMS中,一切正常,但是只要我嘗試使用WCF進行相同的操作服務它給我這個:

System.Data.SqlClient.SqlException(0x80131904):建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:命名管道提供程序,錯誤:40-無法打開與SQL Server的連接)

到底是什么問題? 我在服務器上運行的其他應用程序可以訪問其他外部SQL Server數據庫而沒有任何麻煩。

這很可能是您的連接字符串,因為這不是憑據錯誤。

如果SQL Server是本地服務器,則可以嘗試使用“ datasource =(local)”。

您也可以嘗試將實例也添加到數據源中。

如果它是遠程的SQL Server,請確保將SQL Server配置為允許遠程連接

取自msdn

如果數據庫位於遠程服務器上,則還必須在Active Directory中配置相關帳戶以進行委派。 例如,您必須確保將應用程序的服務帳戶標記為“受信任的委派”,並且將最終用戶帳戶標記為“不敏感”,這意味着它們不能被委派。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM