我有一個最初需要連接到Sybase(通過ODBC)的應用程序,但我還需要添加連接到SQL Server的能力。由於ODBC應該能夠處理這兩個問題,所以我認爲我處於一個很好的位置。不幸的是,默認情況下,SQL Server不會讓我嵌套ODBC命令和ODBCDataReaders--它會抱怨連接忙(連接忙於另一個命令的結果)。打開SQL Server的ODBC連接中的多個結果集
我知道我必須指定在通過本機驅動程序連接到SQL Server時在類似情況下允許多個活動結果集(MARS),所以我認爲這不是問題。
創建SystemDSN時,DSN嚮導沒有entr y。 (爲HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI \ system-dsn-name添加一個值爲Yes的MARS_Connection)。有些人已經提供了註冊表黑客來解決這個問題,但這並不起作用。
另一個建議是創建一個文件dsn,並添加「MARS_Connection = YES」。沒有工作。
最後,一個無DSN的連接字符串。我已經試過這一個(使用MultipleActiveResultSets - 相同的變量作爲SQL Server連接將使用),
"Driver={SQL Native Client};Server=xxx.xxx.xxx.xxx;Database=someDB;Uid=u;Pwd=p;MultipleActiveResultSets=True;"
這一個:
"Driver={SQL Native Client};Server=192.168.75.33\\ARIA;Database=Aria;Uid=sa;Pwd=service;MARS_Connection=YES;"
我已經檢查了各種連接字符串網站 - 他們都表明我已經嘗試過。
我要聲明,我都試過SQL Server驅動程序和SQL Server本機驅動程序...
不是一個真正的解決方案,而是過多的信息(或者至少相當一點):[SQL Server 2005中的多活動結果集(MARS)](http://msdn.microsoft.com/zh-cn/library /ms345109%28SQL.90%29.aspx)。另一方面,也許你已經閱讀過......你使用的是什麼版本的SQL Server? 2005+? – scherand 2010-04-23 21:34:54