原貼在:http://bbs.csdn.net/topics/390804433
我用XP系統下的VB6,參考ADO2.8,寫了個連接SQL2000的代碼,在XP下運行無任何問題,但是在WIN7下就要等待30秒這樣才會有反應,在此期間,程式的界面上顯示是無回應,系統是全新裝的,WIN7的64位和32位版本都是這樣。然后還有件很怪異的事情,我把這個程式放到Parallels虛擬機裝的WIN7上就很正常,有誰也碰到過這種問題???求助啊
代碼如下:
Public cn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Private Sub Command1_Click()
On Error GoTo err_1
cn.ConnectionString = "driver={SQL Server};server=0.0.0.0,埠號;uid=;pwd=;database=**"
cn.Open
cn.Execute ("select * from czry")
cn.Close
err_1:
If Err.Number = 0 Then
MsgBox "OK"
Else
MsgBox "Error"
End If
End Sub
Private Sub Command2_Click()
Adodc1.ConnectionString = "Provider=sqloledb;Data Source=0.0.0.0,埠號;Network Library=DBMSSOCN;Initial Catalog=**;User ID=;Password=;"
Adodc1.RecordSource = "select * from cgd"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
End Sub
按zhao4zhong1 的提示寫了別名,程式當時運行就正常了,但是我把電腦的作業系統重裝后,也寫了別名,做了ODBC,但是根本沒用,還是跟原來一樣了
uj5u.com熱心網友回復:
在64位Windows下:64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
配置32位的DSN和alias要用
c:\windows\syswow64\odbcad32.exe
c:\windows\syswow64\cliconfg.exe
uj5u.com熱心網友回復:
cn.ConnectionString = "driver={SQL Server};server=別名;uid=資料庫用戶名;pwd=資料庫用戶登錄用密碼;database=默認資料庫名"
uj5u.com熱心網友回復:
你代碼中的cn.ConnectionString是特么鐵打的,改不了哈!
uj5u.com熱心網友回復:
第一、我的OCX檔案都是放SYSWOW64下面的,第二、我配置別名和ODBC用的都是SYSWOW64下面的
uj5u.com熱心網友回復:
很明確的跟你說,你說的這個用別名的方法沒用,我在SYSWOW64下配置好別名,然后在ADO的連接里用別名了,沒用
uj5u.com熱心網友回復:
但我這里有用。
你先試試用查詢分析器使用配置好的別名好不好使,如果查詢分析器好使,就是你程式的問題;如果查詢分析器也不好使,就不是你程式的問題而是配置的問題。
注意:查詢分析器可能也分64位/32位。
uj5u.com熱心網友回復:
安裝MDAC28時要以管理員身份運行
以XP兼容模式運行
你的VB6程式也類似。
uj5u.com熱心網友回復:
1、mdac2.8在win7中是安裝不上的。因為win7自帶了mdac6,2、我的程式也試過以兼容模式運行,并且是以管理員身份運行,3、我下了個sql2000的查詢分析器,在win7上運行也出現了我程式差不多的問題,安裝你的說法是系統配置的問題,哪這個問題出在哪里,4、我同一張光碟,在虛擬機里裝出來就不會出現這個問題,哪到底哪里的配置在影響這個?uj5u.com熱心網友回復:
問題解決,其實這個問題不是sql問題,也不是vb6的程式的問題,而是win7的網路的問題,可以去參考一下這個:http://social.technet.microsoft.com/Forums/windows/ar-SA/556174e8-660b-4a6a-b6a2-6632c0b017ba/sql-server-query-extremely-slow-on-new-windows-7-pc?forum=w7itprogeneraluj5u.com熱心網友回復:
阿拉伯文啊!
uj5u.com熱心網友回復:
留個記號,以后參考,vb調資料庫在win7下,比xp下慢很多uj5u.com熱心網友回復:
問題解決,其實這個問題不是sql問題,也不是vb6的程式的問題,而是win7的網路的問題,可以去參考一下這個:http://social.technet.microsoft.com/Forums/windows/ar-SA/556174e8-660b-4a6a-b6a2-6632c0b017ba/sql-server-query-extremely-slow-on-new-windows-7-pc?forum=w7itprogeneral
請問你具體是怎么解決的??你發的網址看不懂,能具體的說一下解決方案嗎,你這個問題,我也遇到了,vb做的程式,在xp下征程,在win7下,查詢資料時,總是卡一下(就像死機一樣),才運行,雖然結果沒問題,但是總歸感覺不爽
uj5u.com熱心網友回復:
問題解決,其實這個問題不是sql問題,也不是vb6的程式的問題,而是win7的網路的問題,可以去參考一下這個:http://social.technet.microsoft.com/Forums/windows/ar-SA/556174e8-660b-4a6a-b6a2-6632c0b017ba/sql-server-query-extremely-slow-on-new-windows-7-pc?forum=w7itprogeneral
同問,請詳細說說,謝謝
uj5u.com熱心網友回復:
Solution-------------------------------------------------------------------
Disable auto tuning level of the TCP. Please follow below steps:
Open command Prompt with admin right (Run as Admin)
Type “netsh interface tcp set global autotuninglevel=disabled”
After running above command restart the machine.
For other information on this command, visit link “http://support.microsoft.com/kb/935400”
uj5u.com熱心網友回復:
非常感謝yuhaoxiang和樓主,我也是遇到這個問題,終于解決了,命令列運行這句netsh interface tcp set global autotuninglevel=disabled并重啟電腦就OK了,非常非常感謝轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/85517.html
上一篇:求VB版本的QQ群發原始碼!
下一篇:vb用api創建子執行緒。
