Forum
Firmamızda 3 tane Windows 7, Visual Studio, SQL olan bilgisayarlarımız var. Ve 13.04.2011
tarihinde geniş çaplı bir güncelleme oldu Windows tarafından. Her ne olduysa, Visual
Basic 6.0 da yazılmış bir programımızı derlediğimizde, artık sadece buradaki 3
bilg.da çalışabiliyor. Ama WXP olan bir bilgisayara Visual Basic 6.0 ı kurup
derlediğimizde eskisi gibi müşteri bilgisayarlarında da çalışıyor. Bu
güncellemeler Vb6 ile ilgili neyi etkilemiş olabilir? Program çalıştığında, Set
cn = New ADODB.Connection satırında; “error 430 class does not support
automation or does not support expected interface" hatası geliyor.
Projemizde Microsoft ActiveX Data Objects 2.7 Library veya
2.6 Library ler kullanılıyor. Müşterilerimizin bilgisayarlarına bununla ilgili
MDAC 2.6 ve MDAC 2.7 yi tekrar kurduk, bir şey değişmedi. Bir bilgisayarımızda
Visual Studio ile ilgili güncellemeleri ve Visual Basic i kaldırıp, Visual
Basic i tekrar kurduk ama yaptığımız exe bizde çalışmasına rağmen müşterilerimizde
yine çalışmadı.
Bilgi verirseniz çok seviniriz.
Selam,
bu veritabanı erişim esnasında kullandığınız mdac versiyonu ile müşteriye kurduğunuz (ya da zaten onda kurulu olan) mdac versiyonlarının farklı olmasından kaynaklanıyordur.
Mdac versiyon check yapmayı deneyin. Yani sizdeki versiyon ile müşterideki aynı mı ?
Burda da MDAC'ın son versiyonu (2.8) bulunuyor. Bir de bunu kurarak bakın :
http://www.tamindir.com/program/2652/Microsoft_Data_Access_Components_%28MDAC%29_2.8.htm
---------------------------------------
"Class does not support Automation or does not support expected
interface"
This error may occur when software attempts to access a database file by referencing
libraries that are a different version than those installed on the computer. Microsoft
provides a set of software libraries that programs use to interact with databases; these
libraries are known collectively as Microsoft Data Access Components (MDAC). These
components are normally included with application programs that need them and are
installed automatically during the setup process. A problem can occur if the incorrect
version of MDAC is included on the installation disk, or if MDAC is already installed on
the computer and the setup process does not overwrite MDAC with the new version. When the
software references one version of MDAC but a different (usually older) version is
installed, Error 430 is the result.
The best solution is to download and install the latest MDAC version from Microsoft's web
site (as 12/05/02, the latest version is 2.6, SP2)
Further information can be found at
the Microsoft Knowledge Base in Articles 248404, 310303, and 307255.
Merhaba
Öncelikle ilginiz ve verdiğiniz bilgiler için çok teşekkürler...
Günlerdir aynı konu ile ilgili bir sürü araştırma ve deneme yapıyorum. MDAC 2.8 e yükseltmek yada hotfix ler hiçbir fayda sağlamadı, benim versiyonum hep yüksek, kullanıcılarımın versiyonu hep aynı kaldı. Sonuçta Windows 7 olan ama yaptığım derlemenin çalışmadığı bir bilgisayarda incelemelere başladım. Windows Güncellemelerinde x64 Tabanlı Sistemler için Windows 7 Service Pack 1 (KB976932) henüz yapılmamıştı, bendeki bu güncellemeyi kaldırınca eski msado15.dll ve bununla bağlantılı dosyaların versiyonları düştü. Gerçi okuduğum yerlerdede W7 Sp1 i kaldırın vardı ama ben direnmiştim, başka şekilde çözmek adına.
Bu sorunun düzeleceği kanaatindeyim, W7 ler illaki sp1 le birlikte aynı versiyona kavuşacak ama WXP ve diğerleri ne zaman ne şekilde olacak bir fikrim yok.
Tekrar teşekkürler, İyi çalışmalar...
Merhabalar,
Bizde çözüm olarak sanal bir XP kurup, orada EXE hale getirince sorun çözüldü.
Windows 7 - SP1 ile bu sorun oluştu, normalde böyle bir sıkıntımız yoktu.
Acıkcası çözüleceğinide pek sanmıyorum. VB 6.0'dan artık yavaş yavaş .NET'e geçme zamanı geldi.
Kolay gelsin.
Msado60_Backcompat_i386.tlb dosyasını microsoftun sitesinden indirin.
bu dosyayı program files altındaki common files altındaki system altındaki ado içersine kopyalayın.
daha sonra projenizi açın Project menüsünden References sekmesine gelin ve browse edip bu dosyayı projenize dahil edin.
dah sonra daha önce database bağlantısı için kullandığınız microsoft activex data objects seçeneğini kaldırın.
projenizi tekrar compile edin.
kolay gelsin.