Delphi Can
Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü (/showthread.php?tid=5408)

Sayfalar: 1 2


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - Abdullah ILGAZ - 14-11-2020

Hata Özeti


Delphi 10.3.3 ile sorunsuz bir şekilde çalışan SQLite x64 desteği, Delphi 10.4 (ve 10.4.1) ile birlikte problem oluşturmaktadır. Uygulamada SQLite'a erişmek istediğiniz bir form açıldığı anda sizi aşağıdaki hata karşılayacaktır.

[FireDAC][Phys][SQLite]-314. Cannot load vendor library [libsqlite.so or libdb_sql.so]. Hint: check it is in the PATH or application EXE directories, and has x86 bitness.



Çözüm Yöntemi ve Çözümü

Uygulamanın SQLite kütüphanelerini sorunsuz şekilde görmesi sayesinde başarılı bir derleme alabiliyorsanız, hatanızın tek kaynağı FireDAC'in SQLite için oluşturduğu Wrapper sınıfından kaynaklı olmasıdır. 

Çözümü oldukça basit. FireDAC.Phys.SQLiteWrapper.Stat sınıfını ilgili formunuzun uses bölümüne ekleyin. 

Uygulamanızı derlediğiniz zaman Android x64 için sorunsuz bir şekilde derlendiğini göreceksiniz.


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - ilhanim - 24-11-2020

teşekkürler


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mcuyan - 14-02-2022

Hocam Merhaba..

Delphi 11 de aynı problemi yaşıyorum. Uniti uses a ekledim fakat yine aynı problem.. var mı bi yeni çözüm?


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mrmarman - 14-02-2022

Merhaba
henüz denemedim ama sizin için yaptığım aramada bir detay gözüme çarptı.
Firedac için eklenen uses satırlarının en üstüne koymayı da önermiş birisi bahsi geçen stat unitini.

Kayıtsız kalmayalım denemesi bedava.


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mcuyan - 14-02-2022

Smile)) @mrmarman hocam mükemmelsiniz.. dediğinz gibi FireDAC.Phys.SQLiteWrapper.Stat sınıfını Firedac unitlerinin en başına aldım. düzeldi.


Aynı zaman da ben unidac da kullanıyorum projemde. burda saçma sapan bir unit eklemiş projeme (SqliteUniProvider ), Bunu da kaldırın ca düzeldi.


Cvp: Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - nguzeller - 14-02-2022

(14-02-2022, Saat: 13:38)mcuyan Adlı Kullanıcıdan Alıntı: Smile)) @mrmarman hocam mükemmelsiniz.. dediğinz gibi FireDAC.Phys.SQLiteWrapper.Stat sınıfını Firedac unitlerinin en başına aldım. düzeldi.


Aynı zaman da ben unidac da kullanıyorum projemde. burda saçma sapan bir unit eklemiş projeme (SqliteUniProvider ), Bunu da kaldırın ca düzeldi.

unidac sqlite direk erişim yapmıyor mu, Firedac niye geçiş yaptınız.


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mrmarman - 14-02-2022

@mcuyan
Emin ol üstadım bilerek değildi. İlginç geldi sayende ben de öğrenmiş oldum.
Sadece şöyle bir çıkarımım oldu, benzer sorunlar yaşadığım başka durumlar da olmuştu. Detayını hatırlamasam da özellikle Indy kullandığım zamanlarda karşılaştığım bir sorundu ve onu çağrıştırdı da kayıtsız kalmayayım dedim.

Başarılar.


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mcuyan - 14-02-2022

@mrmarman çok teşekkürler..

@nguzeller hocam malesef unidacdanrandıman alamadım.. ilginç ilginç hatalar verdi..


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - nguzeller - 14-02-2022

unidac in mobil sürümlerde pc sürümlerdeki gibi çalışmıyor gibi geldi bana. pc de PostgreSQL iyi çalışıyor, DLL dosyaları olamadan direk bağlanıyor.


Delphi 10.4.1 Sydney ile Android 64-Bit uygulamada SQLite Hatası ve Çözümü - mcuyan - 15-02-2022

unidac firebird mssql mysql de deneyimledim.. gayet güzel stabil hızlı ve güvenli çalışıyor.. Fakat mobilde sqlite unidac da sıkıntılı sanki..