2011-05-13 22 views
1

原始的ConnectionString whitch在MSSQL 2000工作:ADODB.Connection(0x800A0E78)

Provider=SQLOLEDB.1; Persist Security Info=True; User ID=XXXXXXXX; Initial Catalog=IntranetApps; Data Source=MS; Use Procedure for Prepare=1; Auto Translate=True; Packet Size=4096; Workstation ID=datawriter; Password=XXXXXXXX';

新的ConnectionString它不工作於2008年MSSQL:

Provider=SQLNCLI10;Server=PR-NB-CIS011\SQLEXPRESS;Database=IntranetApps;Uid=XXXXXXXX;Pwd=XXXXXXXX;

我tryed改變提供給SQLNCLI10.1,不提供者,...

一旦在過去我解決了同樣的問題,但地獄,我現在不記得它。我需要安裝一些供應商,但我現在一無所獲。

有代碼巫拋出異常:

this.connection = new ActiveXObject("ADODB.Connection"); 
    this.connection.ConnectionString = this.conString; 
    try { 
     this.connection.Open; 
    } 
    catch(e){ 
     Response.write("Chyba pri pripojeni na db."); 
     return false; // pokud dojde k chybe pri pripojovani k databazi, pak fce vraci false, jinak true 
    } 
+1

錯誤是什麼? –

+0

這意味着查詢錯誤「當對象關閉時不允許操作」,但您已添加連接字符串信息... – gbn

+0

ADODB.Connection(0x800A0E78) 關閉對象時不允許操作。 – Zdenek

回答

0

如果這真的是一個連接字符串的問題,您應該:

  1. 研究basics
  2. 創建一個零長度「whatever.udl 「文件並從命令行啓動;那麼你可以玩弄的參數,測試連接,並從剪貼板粘貼連接字符串
  3. 嘗試";Data Source=PR-NB-CIS011\SQLEXPRESS;"代替";Server=PR-NB-CIS011\SQLEXPRESS;"
+0

看起來它們是同義詞。它拋出同樣的例外。在connectionstrings.com上有時使用服務器,有時使用數據源。 – Zdenek

+0

@Zdenek:對不起。我包括(3),因爲我測試成功,並認爲它值得一試。你試過(2)嗎?我發現可以在gui中交互式地測試假設是有幫助的。您可以嘗試其他提供程序來測試您的服務器/數據庫的可訪問性以查明罪魁禍首。 –

+0

我用whatever.udl連接字符串。謝謝。問題是我不知道如何使用它,但現在沒問題。謝謝。 – Zdenek

0

After call Open, there is exception: "[DBNETLIB][ConnectionOpen (Connect()).]SQL Server neexistuje nebo byl odepřen přístup." (I didn't find exact localization, it means: "Server not exist or acces denied.") number: -2147467259

在這種情況下,它會出現在連接字符串中指定的服務器不存在,未運行或您提供的用戶帳戶沒有足夠的權限。

事情嘗試:

1)連接字符串格式錯誤,不是SQL Express的2008年,試試這個:

Server=PR-NB-CIS011\SQLEXPRESS;Database=IntranetApps;User Id=XXXXXXXX;Password=XXXXXXXX; 

2)當你打開Management Studio中,嘗試使用用戶名連接和連接字符串的密碼。這有時會使查找和跟蹤權限問題變得更快,更容易。

3)如果您使用SQL Server用戶帳戶登錄,請確保啓用了SQL Server和Windows身份驗證。爲此,在SQL Management Studio中,右鍵單擊服務器,屬性,然後在安全選項卡上選中「SQL Server和Windows身份驗證模式」

+0

我試過這個,我無法連接這個用戶。 我從我的管理員帳戶創建了他,之後我爲IntrenetApps數據庫設置了密碼和讀取/寫入。如果我嘗試瀏覽服務器以選擇IntranetApps數據庫並連接,則用戶'XXXXXXXX'(Microsoft SQL Server,錯誤:18456)出現登錄失敗 – Zdenek

+0

查看服務器的事件日誌以瞭解18456的狀態錯誤 - 它會給你確切的問題。更多信息:http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx –

相關問題