2012-04-10 68 views
0

我有一個sql server 2008R2快速運行在Windows身份驗證模式。我基於一個Windows帳戶在sql server中爲數據庫創建了一個登錄名和一個用戶。我可以通過(以用戶身份運行)SSMS連接到sql server數據庫,並很好地瀏覽我的數據庫。從經典asp連接到sql服務器

我現在想通過第三方ASP應用程序

set loginDB = Server.CreateObject("ADODB.Connection") 

'For Windows Server 2008/SQL 2008 users, please use the following line for the DB connection 

loginDB.Open "Provider=SQLNCLI10; Server=(local)\SQLServerName; Database=dbname;Uid="myuser" Pwd="pwd"" 

我收到一個錯誤說登錄失敗可爲用戶myuser連接

而且該網站上的應用程序池,我有運行將其設置爲以Windows用戶myuser的身份運行。

我在哪裏出錯?

謝謝。

+1

你錯過了uid和pwd部分之間的分號。 – JamieSee 2012-04-10 16:43:59

+0

很確定IIS會傳遞訪問該網站的用戶的Windows憑據(一旦您將其更改爲SSPI,就像Tony所建議的那樣)。在大多數情況下,除非您專門嘗試審覈單個Windows用戶的操作,否則使用SQL身份驗證從經典ASP訪問通用數據庫就足夠了。 – 2012-04-10 17:14:56

+0

Double檢查您是否具有正確的dbname。使用不正確的DBName時,SQL Server的錯誤消息通常看起來很像一個無效的用戶名/密碼錯誤消息。 – 2012-04-11 07:01:43

回答

1

如果您傳遞的是SQL Server身份驗證不是Windows的用戶名和密碼,那麼如果它的身份驗證模式僅限於Windows,則它不會擁有它。

取出它們並用Integrated Security = SSPI代替

+0

你是對的Tony.I用聲明Integrated Security = SSPI替換了用戶名/密碼。現在我收到另一個錯誤Microsoft SQL Server Native Client 10.0錯誤'80004005' 無法打開登錄所請求的數據庫「dbname」。登錄失敗。 – cableload 2012-04-10 18:21:05

+0

和你有一個該名稱的數據庫在該實例,該Windows用戶有權訪問.... – 2012-04-10 22:45:48

+0

託尼感謝您的幫助。我認爲通過設置匿名身份驗證的憑據解決了這個問題,作爲解釋在這個鏈接http://stackoverflow.com/questions/1139772/classic-asp-problem-connecting-to-remote-sql-server-database by Robin M – cableload 2012-04-11 13:34:35