2011-11-15 53 views
2

我從傳統的ASP頁面2008 R2連接到SQL Server與下面的連接字符串如何編寫連接字符串以從傳統ASP頁連接到SQL 2008 R2?

"Data Source=(local);Initial Catalog=my_db;Persist Security Info=True;User ID=my_user;Password=my_pass;"

,但我得到的錯誤

Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我覈實,my_db存在!那麼什麼是錯的在我的連接字符串?

回答

1

您爲數據源給出的(local)名稱無效。它應該是您的SQL安裝的IP地址,服務器名稱或服務器/實例名稱。

UPDATE

如果SQL服務器是在Web服務器上,您可以使用.指定地方。下面是從我傳統的ASP項目的一個例子連接字符串:

"Provider=SQLNCLI10;Server=.;Database=my_db;Uid=user;Pwd=pass;"

+0

我在安裝了SQL的同一臺機器上運行asp經典頁面。在ASP.NET中,我使用(本地),但在ASP Classic中不起作用 – theateist

+0

在這種情況下,您可以使用'.'來指定本地SQL安裝。我用一個例子更新了我的答案。 –

+0

我試過了,現在它說'用戶登錄失敗'用戶'。我檢查並且用戶存在並映射到'my_db'數據庫。現在可能是什麼問題? – theateist

0

您需要指定一個OLEDB提供商,以防止它試圖默認爲ODBC(和失敗)

Provider=SQLNCLI10;Data Source=(local);Initial Catalog=my_db;User ID=XXX;Password=YYY; 

(您還需要在機器上安裝了SQL 2008客戶端OLEDB提供)

+0

我試過了,現在它說登錄失敗的用戶'XXX'。我檢查並且用戶存在並映射到'my_db'數據庫。現在可能是什麼問題? – theateist

+0

您是否使用命名實例?查看服務器日誌,看看爲什麼登錄請求被拒絕 –

+0

修復了它。原因是「嘗試使用SQL身份驗證登錄失敗。服務器僅配置爲Windows身份驗證'。謝謝。對不起,我不能接受2個答案,因爲羅裏先回答,我會接受他的回答。 – theateist

0

嘗試改變(本地):127.0.0.1

0

請嘗試:

Provider=SQLNCLI10;Server=(local);Database=my_db;Uid=my_user; Pwd=my_pass; 

如果有疑問,請檢查connectionstrings.com

相關問題