2010-08-08 53 views
0

我有嘗試連接到一個數據庫 -無法連接到數據庫,錯誤80040e21。不可能調試

<% 
Set RSDiscounts = Server.CreateObject("ADODB.Recordset") 
RSDiscounts.ActiveConnection = "Data Source=serverName;Initial Catalog=dbName.dbo;Integrated Security=True" 
%> 

當我運行一個簡單的文件,我GET-

error '80040e21' 
/filename.asp, line 3 

搜索錯誤代碼並沒有幫助。我最好的猜測是在連接字符串中指定了一些不應該在那裏的東西。但是我用Visual Studio創建了字符串,並且很好地連接到了數據庫。

有什麼方法可以找出問題所在?這似乎是不可能調試。

回答

2

我認爲問題出在您的連接字符串 - 您在那裏的字符串是ADO.Net,但我不相信這將適用於ADODB。

嘗試連接字符串是這樣的:

Driver={SQL Native Client};Server=myServerName\theInstanceName;Database=myDataBase; Trusted_Connection=Yes 

或者,這是我的老項目ADODB的一個連接字符串(從ASP經典)

Provider=SQLOLEDB.1;Initial Catalog=databaseName;Data Source=serverName;Trusted Connection=Yes 

這可能不是100%沒錯,但你可以在優秀的ConnectionStrings.com找到你想要的所有連接字符串的更多細節。

0

從圖書館中,我寫道:

function SqlServerConnectionString(byval psDataSource, byval psCatalog, byval psUid, byval psPw) 
'______________________________________________________________________________ 
' 
' 'Sql Server Connection String' 
'______________________________________________________________________________ 

    dim x 
    x = "Provider=MSDASQL.1;Persist Security Info=False;User ID=" & psUid & ";Data Source=" & psDataSource & ";Initial Catalog=" & psCatalog 
    if psPw <> "" then 
     x = x & ";pwd=" & psPw 
    end if 
    SqlServerConnectionString = x 

end function 

我有火鳥,ODBC和Access類似的程序。

0

問題將出現在您嘗試使用運行該腳本的用戶連接到數據庫。如果這在IIS中運行,它將會像USR_一樣。

2個替代品。

  1. 給這個用戶訪問數據庫(我不會這樣做)。
  2. 創建一個SQL用戶並通過它進行連接。 PROVIDER = SQLOLEDB; Data Source = serverName; Initial Catalog = dbName.dbo; USER ID = WebUser; PASSWORD = WebUserPassword;

相關問題