2011-07-01 212 views
0

我們有一個第三方程序,用於在Windows 2003上針對SQL Server 2000數據庫運行(app和db在同一臺機器上)。我們正試圖遷移/在Windows 2008上安裝/ SQL Server 2008的ConnectionString問題 - Windows 2008上的SQL Server 2008

按規定似乎並沒有允許它把它連接到SQL Server(見下文)

<Configuration name="PROG"> 
    <ADOConnection> 
     Provider=SQLOLEDB.1;Persist Security Info=False;User Id=sa;[email protected];Initial Catalog=DB_NEW;Data source=servername 
    </ADOConnection> 
</Configuration> 

我嘗試的連接字符串備選之一,而且也不起作用

<Configuration name="PROG"> 
    <ADOConnection>  
Provider=SQLNCLI10.1;Persist Security Info=False;Initial Catalog=DB_NEW;Data Source=servername;Uid=sa; [email protected]; 

我可以使用下面的一個成功連接的應用程序在Windows 2003中的SQL Server 2008數據庫

<Configuration name="PROG"> 
    <ADOConnection> 
     Provider=SQLOLEDB.1;Persist Security Info=False;User Id=sa;[email protected];Initial Catalog=DB_NEW;Data source=servername 
    </ADOConnection> 

什麼是正確的語法來獲取應用程序連接到SQL Server 2008以及Windows 2008服務器上?

+0

「似乎不允許它連接」是什麼意思?你有錯誤信息嗎?你在SQL Server錯誤日誌中看到了什麼,如果連接嘗試得到那麼多?您是否嘗試使用本地主機或127.0.0.1或。而不是servername?新的SQL Server是否可以作爲命名實例安裝? –

回答

3

您可以檢查哪些提供商版(S)是通過查看註冊表設置: HKEY_CLASSES_ROOT \ SQLNCLI10 \ CLSID

HKEY_CLASSES_ROOT \ SQLNCLI10.1 \ CLSID(10.1版本等)

的SQLNCLI10 (sql server本機客戶端)名稱是計算機上安裝的最新版本的別名。在您的2003盒子中,您還可以在註冊表中找到sqloledb的條目,您可能在2008年的盒子上不會安裝這些條目。

我會認爲下列代碼應該起作用: 提供商= SQLNCLI10;堅持安全信息= FALSE;用戶ID = SA; PWD = P @ ssw0rd;初始目錄= DB_NEW;數據源=服務器

更多有關連接字符串和各種提供商格式的信息,請參閱:this connectionstring site