FireDAC ile RadStudio'yu MySQL'e Bağlama

Yazar 09 Ekim 2020 Cuma

FireDAC ile RadStudio'yu MySQL'e Bağlama

Geçenlerde ofisimizi arayan bir müşteri, Rad Studio'yu MySQL veritabanına bağlayamayacağını ve bunun nasıl yapılacağına dair internet aramasının sonuç vermediğini söyledi. Yıllardır Delphi ile MySQL kullanıyorum ve bu, düzeltmek için yola çıktığım bir durum….

Sorun…

Konuya bir göz atarak başlayalım. Rad Studio'yu başlatın ve yeni bir uygulama (VCL veya FMX / Firemonkey) oluşturun ve ana forma bir TFDConnection bileşeni bırakın…

p237-ekran1

Bağlantıya çift tıklayın ve "Sürücü Kimliği" başlıklı açılan listeden "MySQL" i seçin

p237-ekran2

Şimdi MySQL veritabanınız için "Veritabanı", "Kullanıcı Adı", "Parola" ve "Sunucu" alanlarını doldurun ve "Test Et" düğmesini tıklayın. Önce başka bir bağlantı iletişim kutusuyla karşılaşırsınız ("Tamam" ı tıklayın) ve ardından aşağıdaki hata mesajı…

ResizedImage600111-p237-ekran3

Tamam, şimdi bu sorunu nasıl çözeceğimize bir göz atalım…

Çözüm…

Sunulan hata mesajı, Rad Studio IDE'nin MySQL veritabanınıza bağlanmak için gereken sürücü kitaplığı olan “libmysql.dll” dosyasını bulamadığına dair bir uyarıdır . Bildiğim kadarıyla, bu sürücüyü tek başına indirmek için tek bir paket yok, eğer biri birini biliyorsa ve bu hem yasal hem de lisans sözleşmesine uygun, lütfen bana bildirin ve bu yazıyı güncelleyeceğim. Ancak şimdilik MySQL kurulum paketinin tamamını indirmeli ve gerekli DLL dosyalarını çıkarmalısınız. Sürücü dosyası, aynı sürümün ilgili ticari sunucusuyla MySQL Community sunucusu için aynıdır.

Http://dev.mysql.com/downloads/mysql/ adresini ziyaret edin ve MySQL sunucusunun BOTH 64-bit ve 32-bit kurulumları için ZIP Arşiv dosyalarını indirin .

ResizedImage600256-p237-ekran4

Her iki paketi de ayrı konumlara çıkarın.

ResizedImage600256-p237-ekran5

Böyle bir şeye benzemek için yeni bir dizin yapısı oluşturun…

p237-ekran6

64 bit için dll adı tam olarak 32 bit için olanla aynıdır ve bu nedenle onları ayrı tutmak için ayrı 32 ve 64 bit dizinler oluşturduk. Şimdi her iki "mysql – win32 ″ ve" mysql – winx64 extract dizinlerinde "lib" dizinine gidin ve "libmysql.dll" nin bir kopyasını alın - Her birini "MySQL İstemcisi içindeki ilgili 32 veya 64 bit dizinine yerleştirin Daha önce oluşturduğunuz Kitaplıklar ”dizini.

p237-ekran7

Artık tüm MySQL sunucu kurulum dosyalarını (zipler ve çıkarılan dizinler) çöpe atabilirsiniz, sadece "MySQL İstemci Kitaplıkları" dizininizi istemci kitaplıklarıyla birlikte saklayın.

Şimdi 32-bit “libMySQL.dll” dosyasının bir kopyasını alın ve IDE çalışırken yolunuzda görünen bir yere yerleştirin.
Benimkini “: \ windows \ system32” içine bırakıyorum.

Düzenleme:  Bu blog gönderisinde daha önce önerdiğim gibi DLL'yi ": \ program files (x86) \ Embarcadero \ Studio \ <version> \ bin" içine yerleştirmeyin. Rad Studio "bin" dizinine herhangi bir şey yerleştirmenin IDE kurulumunuzu gerçekten altüst edeceği yazım sırasında bilmiyordum!

dlldrop

Bu, IDE'nin tasarım zamanında gerekli sürücü kitaplığı dosyasını görmesini sağlayacaktır.

Not: RadStudio IDE, Windows sürümünüzün bitliliğine (bu bir kelime mi?) Bakılmaksızın 32 bitlik bir uygulamadır. Bu nedenle, IDE'nin MySQL veritabanlarına bağlanmasını sağlamak için 32 bit sürücüyü kullanmanız gerekir.

Tasarım zamanında bir MySQL bağlantısı oluşturmak için bu yazının başındaki adımları ("Sorun" altında) tekrarlayın. Artık hata mesajını almamalısınız, bunun yerine…

p237-ekran9

Çalışma zamanında çalışmasını sağlama…

Bu, tasarım zamanı için harika, peki ya çalışma zamanında uygulamanız? Pekala, burada yapman gereken bazı seçimler var.

Uygulamanızın IDE içinde çalışırken sürücüyü görmesi için, kitaplığın 32 bit sürümünü Hata Ayıklama ikili dizininize 32 bit ve 64 bit sürümü 64 bit hata ayıklama dizininize kopyalayabilirsiniz. Bunu yapmak için, öncelikle ilgili hata ayıklama dizinlerinin oluşturulması için her iki hedef için de uygulamayı oluşturmanız ve ardından kitaplık dll dosyalarını kopyalamanız gerekir.

Bir alternatif, MySQL sürücü kitaplığının bir kopyasını sistem yolunda bir yere yerleştirmek olabilir (örneğin “.. \ windows \ system32 ″ gibi), ancak bu yalnızca bir hedef için (32 veya 64 bit) çalışacaktır.

Uygulamanızı dağıtma zamanınız geldiğinde, ilgili hedef platform için dll'leri de göndermeniz gerekecektir. Uygulamanızın 32-bit ve 64-bit sürümlerini tek bir pakette gönderiyorsanız, büyük olasılıkla çalıştırılabilir dosyaları farklı dizinlere ayırırsınız, bu nedenle ilgili dll sürümünü bu dizinlerin içine göndermeniz yeterlidir.

Sonuç

Artık mükemmel MySQL veritabanına karşı kullanmak için FireDAC çerçevesinin gücüne sahipsiniz! Devam edin ve veritabanı uygulamaları yapın! Ek bilgi için burada RadStudio'nun resmi belgelerine bakın.

Okuduğunuz için teşekkürler!

 

Kaynak : http://chapmanworld.com/2015/01/18/connecting-radstudio-to-mysql-with-firedac/

Topma 170 Defa Okundu Eklenme Tarihi : 09 Ekim 2020 Cuma 00:00
Erkan ÇAĞLAR

Tasarımcı Programcı, Kendi çapında herşey işte .

www.erkancaglar.com.tr
Üste Git