我將用戶機器上的ADO版本從2.5升級到2.8的時候發現Connection.open明顯慢了很多,連接串如下:
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=sqltest於是做了以下測試,使用ADO 2.8時,第一次執行時間如下(使用ADO 2.5時無論何種情況均在1秒以內),第二次執行時間則小於0.01秒文件大小 Exe位置 執行時間(秒)
20K 本地 0.17
20K 網絡盤 0.25
39.7M 本地 0.98
39.7M 網絡盤 9.7 由於Windows XP自帶ADO 2.8 SP1,所以升級是必然的,由於系統較為復雜(大約有500張Form,100多個class),將系統拆分成多個文件短期內也是不可能的事。試過將C:\Winnt\system32\sqlsrv32.dll由版本2000.85.1117.0(ADO 2.8中的版本)降級為3.70.11.46(ADO 2.5中的版本),速度回復正常,但不知有何風險,並且還不能支持多Instance,如同一SQL Server中裝有SQL2000和SQL2005,無法訪問如SQLTEST\SQL2005這一Instance。請各位高手幫幫忙,謝謝!
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=sqltest於是做了以下測試,使用ADO 2.8時,第一次執行時間如下(使用ADO 2.5時無論何種情況均在1秒以內),第二次執行時間則小於0.01秒文件大小 Exe位置 執行時間(秒)
20K 本地 0.17
20K 網絡盤 0.25
39.7M 本地 0.98
39.7M 網絡盤 9.7 由於Windows XP自帶ADO 2.8 SP1,所以升級是必然的,由於系統較為復雜(大約有500張Form,100多個class),將系統拆分成多個文件短期內也是不可能的事。試過將C:\Winnt\system32\sqlsrv32.dll由版本2000.85.1117.0(ADO 2.8中的版本)降級為3.70.11.46(ADO 2.5中的版本),速度回復正常,但不知有何風險,並且還不能支持多Instance,如同一SQL Server中裝有SQL2000和SQL2005,無法訪問如SQLTEST\SQL2005這一Instance。請各位高手幫幫忙,謝謝!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货