我在winxp sp3+vb6寫了一個程式訪問access 2003,本地運行都沒有問題,用setup factory打包到別的機子運行就出現“運行時錯誤430:類不支持自動化或不支持期望介面”,應該怎么解決啊?
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xishu.mdb;Persist Security Info=False"
rst.ActiveConnection = con
rst.Open "select * from leixing where id=" & idp
uj5u.com熱心網友回復:
參考的某個部件沒有正確注冊!但是似乎不是ADODB沒有注冊,因為ADODB在XP中是自帶的;
uj5u.com熱心網友回復:
我裝的VB6 SP6,參考的是Microsoft ActiveX Data Objects 2.8 Library,在其他XP上運行就報這個錯,實在是不明白什么原因啊,很多解釋都說要裝MDAC,但是XP上不是已經自帶了么?uj5u.com熱心網友回復:
XP自帶了 MDACTyp2.8,你要安裝也安裝不了!你的問題應該是別控制元件或者參考沒有注冊。
uj5u.com熱心網友回復:
我只用到資料庫訪問的Microsoft ActiveX Data Objects 2.8 Library,其他的都沒用uj5u.com熱心網友回復:
遇到了同樣的問題。uj5u.com熱心網友回復:
那你XP系統應該有問題咯,這個部件是XP自帶的(sp1好像沒有帶)將xp升級到sp3試試吧
uj5u.com熱心網友回復:
我之前也碰到這個問題,查了不少資料,都解決不了,最終知道是VB編譯下的XP版本有問題,現在網路上的GHOST版本,有些就會出錯,后來我換了個版本重新安裝,一切都好,你可以朝這個方向試試,現在下載個系統也不用多少時間uj5u.com熱心網友回復:
真的沒別的辦法了么?我原來的系統編譯的都好好的,重裝系統是網上下載的“雨林木風”的GHOST安裝的,就出現了這個問題。真麻煩。
uj5u.com熱心網友回復:
C:\Program Files\Common Files\System\ado 里面的檔案版本問題 我一般吧自己的機器上這個檔案夾用低版本的uj5u.com熱心網友回復:
開發的機器上用老版本的編譯 這樣就能用了uj5u.com熱心網友回復:
Dim con As ObjectDim rst As Object
Set con = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xishu.mdb;Persist Security Info=False"
rst.ActiveConnection = con
rst.Open "select * from leixing where id=" & idp
...
rst.Close
con.close
set rst=nothing
set con=nothing
'**********************************
主要原因還是因為兩臺機子上的ADO介面的問題,只有用后期系結才能解決問題,
據說是微軟強制編程者改用Win7,因為Win7下ADO的介面與XP下ADO的介面不一致造成
的,起始我發現就算是在XP下,只要你安裝了VS2010sp1,在編譯到未安裝的機子上去運行
一樣還是不行,所以究其原因可能還是ado版本造成的介面改變,沒辦法,只能用后期系結
uj5u.com熱心網友回復:
要是win7 的sp1,就把那個糟心的sp1 拿下另外試試看2.6或者2.7版本的adodb
uj5u.com熱心網友回復:
在報錯的機子上安裝KB983246補丁uj5u.com熱心網友回復:
Microsoft ActiveX Data Objects 2.8 Library換用2.7的!同樣問題,我就是這么解決的
uj5u.com熱心網友回復:
剛開始只要不安裝sp1就可以,現在即使不安裝sp1,還會有其他補丁影響到,所以干脆還是在xp下編譯算了
uj5u.com熱心網友回復:
不同的機器編譯確實有時會表現不同的。 同一份原始碼在我自己機器編譯在qq上發檔案結果對方提示360說病毒。在公司的機器上編譯的就不會報毒。uj5u.com熱心網友回復:
你說具體點啊 啊uj5u.com熱心網友回復:
今兒打包的程式也在xp sp2上遇到改問題了,開發的平臺的win7 sp1。uj5u.com熱心網友回復:
不打這個補丁之前,主程式能運行,但有區域報錯,專門打了sp3和這個補丁后,程式已啟動就報錯(automation 錯誤),更悲催。
uj5u.com熱心網友回復:
用Windows Virtual PC模擬了一個xp sp3環境,在里面安裝了VB6 sp6,把win7下編譯的form全部移植過去,重新編譯并打包,自己運行無問題,但打包程式在另外的xp+sp3或win2003 sp2上有只要用到adodb陳述句就報430錯誤,先后換了2.0~2.8不同版本的msado.tlb打包過去安裝問題依舊,我要崩潰了,哪位出出主意啊!!!uj5u.com熱心網友回復:
C:\Program Files\Common Files\System\ado這個檔案夾里面的問題
我在出現那個問題的電腦里把這個檔案夾里的東西覆寫掉我開發的機器上的檔案
再次編譯 即可解決問題
開發機器上的ADO版本低一點 其它的就無所謂了
uj5u.com熱心網友回復:
靠 原來這個問題我已經回答過了 快半年了 還沒結貼uj5u.com熱心網友回復:
我用WIN7 編譯后到別的機器上運行也是同樣問題。把工程放到別的裝了VB6的機器上重新編譯才正常。
uj5u.com熱心網友回復:
我也碰到這個問題,不是控制元件注冊問題,是ADO版本問題1. 在部分xp下報錯;
2. 在win7和visit下不能用;
是這么解決的,
1. 使用低版本的ADO2.5版本
2. 在C:\Program Files\Common Files\System\ado 檔案夾下和C:\WINDOWS\system32 檔案夾下有ADO檔案,
msado25.tlb,版本號2.81.3012.0,大小80KB。
打包的時候用這個就可以。
uj5u.com熱心網友回復:
我也曾遇到過這個問題.可以是作業系統的原因,我把源代碼放到其另外一臺XP電腦上重新生成EXE就解決了。這個問題應該解決了吧,這么長時間了。不過我還是想和大家分享下。uj5u.com熱心網友回復:
我也遇到同樣問題,用21樓的方法,解決了問題。感謝!!
uj5u.com熱心網友回復:
讓大家參考下我的解決方法吧:1.裝VB
2.上原始碼
3.生成EXE
4.打開這個EXE運行正常了
感覺我的方法比較2,但絕對解決問題
uj5u.com熱心網友回復:
為了版本兼容的問題,我以前都是在 Win98 下打包的(用 VB 自帶的打包工具)。
現在的機器不能安裝 Win98 了,就在本地打包后,將原來在 Win98 下打包的 Support 檔案夾下的舊版本系統檔案覆寫新生成的 Support 下的同名檔案,然后運行 Support 下 <安裝檔案名>.BAT 檔案重新生成壓縮包。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/139659.html
