Delphi 10.3 - Mysql Connection

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ms_YiLDiRiM
Üye
Mesajlar: 35
Kayıt: 24 Ağu 2010 09:46
Konum: Samsun

Delphi 10.3 - Mysql Connection

Mesaj gönderen Ms_YiLDiRiM »

Merhaba arkadaşlar,

Delphi 10.3 ile mysql connection yapmak istiyorum lakin gerekli bağlantı bilgilerini girip sqlconnection 'u bağlamaya çalıştığımda şu hatayı alıyorum.

Kod: Tümünü seç

BX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path.
problemi çözümü için birkaç dll dosyasını system32 klasörüne kopyaladım. ama sorunu çözemedim.

birde diğer soru, sorunu bu tarz dll dosyası kopyalama ile çözdüğümde yazmış olduğum programı kullanacak her bilgisayarda bu dll dosyalarını kopyalamak mı gerekecek?

şimdiden teşekkür ederim.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen mkysoft »

hata mesjında libmysql.dll dosyasını bulamadığından bahsediyor. Uygulama klasörüne eklemeniz yeterli.
Ms_YiLDiRiM
Üye
Mesajlar: 35
Kayıt: 24 Ağu 2010 09:46
Konum: Samsun

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen Ms_YiLDiRiM »

aşağıdaki adresten ilgili dosyayı indirdim, system32 klasörlerine kopyaladım. program klasörüne kopyaladım. ama çalışmıyor.

https://tr.dll-files.com/download/a5125 ... J0NDB4dz09
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen mkysoft »

veri tabanınızla uyumlu olanı kullanmalısınız. veri tabanı klasöründe olması lazım. eğer yoksa kendi sitesinden indirin: https://dev.mysql.com/downloads/c-api/
Ms_YiLDiRiM
Üye
Mesajlar: 35
Kayıt: 24 Ağu 2010 09:46
Konum: Samsun

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen Ms_YiLDiRiM »

Nasıl oldu bilmiyorum ama kurcalamalarım sonucu bi şekilde gerekli mysql dosyalarını yükleyip çalıştırmayı başardım :)

lakin şimdi daha büyük sorunum çıktı, veritabanına bağlanıyorum ama yaklaşık 25000 kayıt ile oynama yaptığım için çok yavaş veri yüklemesi yapıyor. 15 kayıt listelesem dahi sistem çok yavaş çalışıyor, bu konuyla alakalı CachedUpdates uygulamasından bahsediliyor. önbelleğe veriyi alıp incelemek, tek seferde. bunu nasıl yapabilirim? yada başka hangi yöntemi izlemeliyim, threadlar ile çözüm alabilir miyim

Delphi 10.3 te Simpledataset ve sqlconnection, sqlmonitor ve datasource kullanıyorum.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen mkysoft »

İncelemeniz gereken 2 kısım var.
1. Veri tabanınız mı yavaş?
Veri tabanı yönetim programlarından sorgunuzu deneyin.

2. Uygulama tasarımınız düzgün mü?
Grid'e tüm kayıtları mı yüklüyorsunuz, grid sürekli yenileniyor olabilir mi?
Ms_YiLDiRiM
Üye
Mesajlar: 35
Kayıt: 24 Ağu 2010 09:46
Konum: Samsun

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen Ms_YiLDiRiM »

İşyerinde kullanmak üzere program yazıyorum, bu nedenle kalıcı host satın alınana kadar https://remotemysql.com/ mysql hosting kullanıyorum.

sevk_data - 443 InnoDB utf8_general_ci 29.7 KiB -
uretim -21,378 InnoDB utf8_general_ci 1.9 MiB -
uretim_data -66 InnoDB utf8_general_ci 10.2 KiB -
uretim_revize -49 InnoDB utf8_general_ci 7.9 KiB -
user_data -2 InnoDB utf8_unicode_ci 16 KiB -
Toplam -21,938 InnoDB utf8_unicode_ci 2 MiB

veritabanı tabloları bu şekilde, her bir tabloda primary key mevcut. programda dbgrid üzerindeki bir başka ürünü seçince diğer tablolardan otomatik olarak o ürünün detaylarını, revize durumunu ve sevk durumunu çekiyorum. bu işlemi ayrı ayrı simpledataset ler ile yapıyorum. tüm simpledatasetleri tek bir sqlconnection bağlantısı ile güncelliyorum. dbgrid kendini güncelliyormu konusunu bilmiyorum.

Kod: Tümünü seç

 Gösterilen satır 0 - 8 (toplam 9, Sorgu 0.0164 saniye sürdü.)
select * from `uretim` where `level` like 'FORM TESLİM' order by ID DESC

Kod: Tümünü seç

 MySQL boş bir sonuç kümesi döndürdü (yani sıfır satır). (Sorgu 0.0006 saniye sürdü.)
Select * From uretim_data Where urun_serino LIKE '1044' AND urun_model LIKE 'GT 60 PLUS' order by tarih ASC

Kod: Tümünü seç

 MySQL boş bir sonuç kümesi döndürdü (yani sıfır satır). (Sorgu 0.0006 saniye sürdü.)
Select * From uretim_revize Where ((( serino_baslangic <= '1044' ) and ( serino_bitis >= '1044' )) or ( serino_diger LIKE '%1044%' )) AND ( revize_urunler LIKE '%GT 60 PLUS%' ) order by tarih_baslangic ASC

Kod: Tümünü seç

 MySQL boş bir sonuç kümesi döndürdü (yani sıfır satır). (Sorgu 0.0006 saniye sürdü.)
Select * From sevk_data Where (urun_serino = '1044') AND (urun_model = 'GT 60 PLUS') order by sevk_tarihi ASC
phpmyadmin üzerinden alınan sorgu sonuçları yukarıdaki gibi. bu sürelere göre sanırım sorun benim programımda kullandığım datasette. aynı sorgulamaları program üzerinden yaptırdığımda süre 3/4 saniye oluyor.


EDİT: tek bir sqlconnection üzerinden simpledatasetleri bağlamıştım, bir sqlconnection üzerinden tek simpledataset (en büyük tablonun olduğu dataset) bağladığımda gayet hızlanıyor. ama multi connection yaptığımda sorun meydana getirdiğini fark ettim. bunu nasıl çözebilirim.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Delphi 10.3 - Mysql Connection

Mesaj gönderen mkysoft »

Hatırladığım kadarıyla remotemysql.com zaten yavaştı. Verinin network üzerinden taşındığını da hesaba katmanız gerekir. Eğer açık değilse compression (sıkıştırma) desteğini açın. InnoDB destekleyen host bulmanız zor olabilir, çünkü lisans gerektirir. İşin başındayken bence farklı veri tabanlarına yönelin. Kendi sunucunuzu çalıştıracaksanız Firebird olabilir, compression desteği olmadığı için çok uygun değil. AWS ya da Google size uyarsa postresql düşünebilirsiniz. Zaten belli bir yere kadar ücretsiz.
Cevapla