2016-04-15 175 views
0

我在服務器上發佈了一個web服務,這個web服務試圖連接到同一服務器上的sql服務器。 這是我的連接字符串:asmx web服務錯誤連接sql服務器

Data Source=........\sqlexpress; Initial Catalog =mybooks; User Id =......; Password =......; Integrated Security=SSPI 

我要連接使用SQL用戶帳戶,所以我用SSPI爲SQL。
我爲服務創建了一個應用程序池「mypool」,運行於ApplicationPoolIdentity內置帳戶。
Web服務提供了錯誤:

System.Data.SqlClient.SqlException: Cannot open database "mybooks" requested by the login. The login failed. Login failed for user "IIS APPPOOL\mypool" 
  • 我應該創建IIS池 「myPool的」 SQL登錄?我如何創建這個登錄名?
  • 如果我創建sql登錄,是否存在安全問題?
  • 我不能使用sql用戶名和密碼登錄到sql嗎?

感謝所有幫助

回答

1

由於您使用SSPI這意味着集成安全性=真;

因此,您的Windows憑據將用於認證到SQL服務器。不是你的sql-server用戶名/密碼。 (在你的情況下,用戶在應用程序池或Web服務器進程下指定)

只需使用sql-server用戶名/密碼並且不要使用集成安全性。使用SSPI時,您的用戶名/密碼將被忽略。

希望有所幫助。