2016-04-13 20 views
1

Bazı bu sorulara diyecekler eminim konu dışı, ama bu programı yazdım çünkü programlama hakkında gerçekten olduğunu ve bunu ben VB.Net'te bir uygulama yazdım64 bit veritabanı sürücüsü ile 32 bit programını kullanarak nasıl çözerim?

, Windows 10 üzerinde çalışan almak gerekir ve "AnyCPU" için derledim. Yani hem 32 bit hem de 64 bit ortamlarda çalışır. Program, bir MySQL veritabanı ile iletişim kurar, bu yüzden kurulum sırasında hem 32 bit ODBC sürücülerini hem de 64 bit ODBC sürücülerini yüklerim. Bununla birlikte, programın bir parçası bir rapor çıkarmak için Crystal Reports kullanır. Kullandığım Crystal parçası sadece 32 bit çalışma alanında çalışır.

Yüklü MySQL veritabanı 64 bit işletim sistemi nedeniyle 64 bittir.

Her şey Windows_7'de (64 bit) uyumlu bir şekilde çalışır, ancak aynı yapılandırma Windows_10'da (64 bit) çalışmaz. Windows, kullanıcı bir raporu görüntülemek için Crystal programını çalıştırmayı denediğinde, MySQL,

"C: \ Program Files (x86) \ MYSQL \ Connector ODBC 5.3 ODBC sürücüsünü bulamadığı bir hata atar." \ myodbc5a.dll "

Elbette sürücü var, ancak bu hata genellikle yüklenmekte olan sürücünün yanlış bit sürümünden kaynaklanıyor.

64 bit sürümü

yüklenir "C: \ Program Files \ MYSQL \ Bağlayıcı ODBC 5.3 \ myodbc5a.dll"

bu Windows 10 sorun veya başka bir şey var mı? MySQL'in doğru sürücü konumunu kullanmasını nasıl sağlayabilirim?

+0

'Tabii ki sürücü var - [iki kere kontrol edin] (http://superuser.com/q/419832/52365). Ayrıca, Windows 7 ve Windows 10'daki görev yöneticisinde programınızın işleminin hangi bitlikte gösterildiğini iki kez kontrol edin. – GSerg

+0

, bu dosyaların sürümlerini karşılaştırın. – Claudius

+0

Doğru sürümleri vardı ancak 32 bit sürümü, hatada görünmeyen myodbc5c.dll eksikti. Sadece manuel olarak yüklemeye çalışırken bir hata aldıktan sonra eksik olduğunu fark ettim. – user2721815

cevap

0

Bunun başkalarına yardımcı olup olmayacağından emin değilim, ancak temel olarak ODBC sürücülerinin doğru sürümlerinin doğru konumlarına kurulduğundan emin olmak için geri döndüm. Bu yüzden, ODBC sürücülerinin her iki sürümünü kaldırdım ve bunları yeniden yüklemeyi denedim. Bunu yaparken, MySQL yükleyicisinin yalnızca sürücünün bir bit sürümünü yüklememe izin vereceğini, ancak ikisinin birden olmadığını fark ettim. Programım her iki sürücüyü de sessiz modda komut satırından yükler. Ancak, yükleme yöntemimi çoğaltırken, 32 bit sürücülerin komut dosyasından çalıştırıldığında doğru yüklenmediğini fark ettim. Fakat sessiz modda kurulduğundan, hiç fark etmedim. 32 bit sürücü dll'leri, hata mesajında ​​gösterilenler de dahil olmak üzere oradaydı, ancak sessiz kurulum sırasında düzgün yüklenemeyen 2 dll eksikti.

Bu nedenle, MySQL yükleyicisini kullanarak, sürücülerin her iki bit sürümünü yüklemeyi denedim ancak yukarıda belirttiğim gibi izin vermezdim. Bir sürüm kurdu ve geri döndü ve diğer sürümü denedim, her iki sürümün zaten yüklü olduğu şikayet etti. Bu yüzden, bir sürümü yükleyip, klasörü yeniden adlandırarak ve onu kaldırıp diğer sürümü yükleyerek kandırdım. İkinci sürüm yüklendikten sonra, geri döndüm ve orijinal sürümün klasörünü orijinal adına döndürdüm. Bu şekilde, her iki bit sürümü de uygun yerdeydi. Ancak, yükleyiciye bakıldığında, yalnızca bir sürümün yüklü olduğu (en son yüklendiğim dosya) gösterildi.

Hala sessiz yüklememin neden başarısız olduğundan emin değilim. Hata, C++ yeniden dağıtılabilir sürümünün yüklenmesi gerektiğinde aldığınız hatayı hatırlatıyordu, ancak bunu denedim ve sorunu çözmedi. Yani benim acil sorunum çözüldü. Yükleme sorunumu çözersem geri gelip bu yanıtı güncellerim.

İlgili konular