Paradox tan mysql e geçiş?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Shnsmn
Üye
Mesajlar: 13
Kayıt: 16 May 2020 11:53

Paradox tan mysql e geçiş?

Mesaj gönderen Shnsmn »

İlk başta delphiyi öğrenirken Bilgisayar mühendisi patronum veritabanı olarak paradoxu öğretmişti. sonra birikimli olarak yapmak istediğim programda ilerledim. en sonunda güzel bir program ortaya çıktı ancak binanın temelinin sağlam olmadığını sonradan anladım. keşke veritabanı da sağlam bir temele dayansaydı diye düşündüm. şimdi paradoxtan mysqle geçiş yapmak istesem nasıl bir yol izlemeliyim. hazır bir yazılımda veritabanını değiştirmem için ne yapmam gerekir? bütün tabloları tek tek tanımlamam gerekiyor gibi hissettim.
Tecrübesi ve bilgisi olan arkadaşlar bir yol gösterebilir mi?
Saygılarımla
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Paradox tan mysql e geçiş?

Mesaj gönderen ertank »

Merhaba,

İlk tavsiyem belli koşullar ile ücretsiz kullanılabilen en son Delphi sürümlerinden birine geçmeniz olacaktır.
https://www.embarcadero.com/products/delphi/starter
E-mail adresiniz ve belirlediğiniz şifre ile üye oluyorsunuz. Adresinize kurulum için gerekli lisans gönderiliyor. Lisans bir yıl geçerli. Bir yıl sonra ücretsiz kullanım koşullarını sağlamanız halinde e-mail adresi ve şifreniz ile sisteme giriş yapıp yeni lisansın adresinize gönderimini sağlayabilirsiniz. Dikkat etmeniz gereken lisans 365 gün geçerli ise sizin 366 veya 367nci günde talepte bulunmanız (lisans süresi *geçtikten* sonra) yoksa mevcut lisansın aynısını gönderir sistem.

Delphi Community Edition sürümleri veritabanı olarak sadece "local" veritabanı destekler. Sizin düşündüğünüz MySQL, SQL Server, PostgreSQL, Oracle, vb. veritabanı desteği yoktur. Bu noktada yapılabilecekler:
1- SQL Server veritabanını ADO bileşenleri ile kullanmak mümkün olabilir. Şahsen tavsiye etmem.
2- Veritabanı erişim bileşenleri satın alıp (UniDAC, FireDAC) kullanabilirsiniz. Bu durumda herhangi bir limit kalmayacaktır. Bileşenlerin desteklediği tüm veritabanlarını kullanabilirsiniz.
3- Kullanmak istediğiniz MySQL veritabanı yerine yine ücretsiz FirebirdSQL veritabanı tercih edebilirsiniz. Oldukça yaygın şekilde kullanılan ve Paradox ile yaptığınız işlemleri fazlasıyla yapabilecek bir veritabanıdır. Bu veritabanı için yine ücretsiz FibPlus bileşenlerini kullanabilirsiniz.
https://github.com/madorin/fibplus

Benim tavsiyem 3 numaralı adım üzerinden ilerlemeniz yönünde. Sürüm olarak FirebirdSQL 3.0 ile başlamanızı tavsiye ederim. Birçok kullanıcı 2.1, 2.5 sürümlerini kullanıp geçiş yapmaya tereddüt ediyor. Şahsi görüşüm ilk fırsatta artık hata düzeltmesi dahi yapılmayan sürümden destek verilen sürüme geçiş yapılmasıdır.

Buraya kadar tavsiyeleri uygularsanız ücretsiz FirebirdSQL veritabanına geçiş yapmanız altyapı olarak mümkün olacaktır. Ancak;
- Paradox veritabanı ile FirebirdSQL veritabanı programlama anlamında bir miktar farklılıklara sahip. Eskiden öğretilen/öğrenilen Paradox tablolarını TTable bileşeni kullanarak açmak idi. TTable bileşeni tüm tablo kayıtlarını okumaktadır. Ancak SQL veritabanlarında bu tavsiye edilmez (milyarlarca kayıt içeren tablolar desteklendiği için sunucuyu yormamak, istemci limitlerini zorlamamak adına). Query bileşenleri ile ihtiyaç duyulan veriye erişim sağlanması tavsiye ediliyor. Bu noktada SQL komutlarını öğrenmeniz gerekecektir.
- Paradox veritabanlarında çoğunlukla okuma/yazma şeklinde açılan tablolar kullanılırdı. Yukarıda bahsi geçen TTable bileşeni okunur/yazılır şekilde açardı tabloları. SQL veritabanlarında ise eğer yazma yapılmayacak ise sadece okuma yapan Query bileşenine *sadece okuma transaction* nesnesi bağlayarak veriye erişim tavsiye ediliyor. (FibPlus bileşenleri bu anlamda kolaylıklar sağlıyor)
- Delphi 7 ile gelen QuickReport yeni sürümlerde FastReport olarak değişti. Raporlarınızı FastReport'a çevirmeyi şahsen tavsiye ederim. Daha esnek ve detaylı raporlar hazırlamanıza imkan sağlar.
- Mevcut ekran tasarımlarınızı kullanmanız mümkün olacaktır. Yinede az çok her ekranı elden geçirmeniz gerekir.

Kısacası, veritabanı değiştirmek istediğinizde arada geçen zamanı telafi etmek için birden fazla konuda yoğun olarak çalışmanız ve mesai harcamanız gerekecektir.

Sadece ilk tavsiyemi uygulamanız ve birkaç haftaya kadar yayınlanacak ve kullanıma açılacak olan Delphi 10.4 Community Edition ile eski projenizi dönüştürerek devam etmeniz bence çok doğru bir karar olacaktır. Delphi 7'den günümüze kadar o kadar çok fazla değişiklik ve yenilik oldu. Şahsi görüşüm günümüzde Delphi 7 sadece dönüştürülmeyen/hata düzeltmesi yapılıp yenilik eklenmeyen projeler dışında kullanılmaması gereken bir programlama aracıdır.
Shnsmn
Üye
Mesajlar: 13
Kayıt: 16 May 2020 11:53

Re: Paradox tan mysql e geçiş?

Mesaj gönderen Shnsmn »

çok teşekkür ederim. verdiğiniz adresten üye olarak yeni sürüm delphi ye geçiş için ilk adımı attım.hadi hayırlısı inşallah.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Paradox tan mysql e geçiş?

Mesaj gönderen mkysoft »

Bu arada MySQL düşünmeyin derim, çünkü ticari kullanımı ücretli.
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Paradox tan mysql e geçiş?

Mesaj gönderen akissoftware »

MySQL veritabanı ücretsiz diye biliyorum. Lakin Oracle satın aldıktan sonra değişmiş olabilir. Ticari olarak ücretsiz kullanılamaz mı? Ya da MsSQL express edition Ticari olarak kullanmak yine mi ücretli oluyor?
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Paradox tan mysql e geçiş?

Mesaj gönderen ertank »

MySQL Oracle tarafından satın alındıktan sonra lisans modeli değiştirildi.

MariaDB (MySQL en son ücretsiz kodlarından geliştirilmeye devam eden açık kaynak kodlu veritabanı) halen her anlamda (kişisel/ticari) ücretsiz olarak kullanılabilir.

Genellikle MySQL ile kast edilen son zamanlarda MariaDB oluyor. Birçok VPS hizmeti veren firma halen MySQL adı altında MariaDB yüklüyor sistemlerine. Eğer Oracle tarafından bir baskı olmaz ise isim alışkanlığı yüksek ihtimal ile bu şekilde devam edecektir.

Şahsen çok kullandığım ve zorunlu olmadıkça tercih edeceğim bir veritabanı değil. Anladığım kadarıyla mevcut durumda MySQL ile MariaDB birbirinin yerine kullanılabilirler. Yinede spesifik konularda ayrıldıkları noktalar olabilir.
Cevapla