Konuyu Oyla:
  • Derecelendirme: 3/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Hosting üzerindeki Mysql e direkt erişim
#1
Benim denemeler için kullandığım bir Godaddy hosting hesabım var. Burada yer alan siteleri ve mysql erişimini sorunsuz kullanıyorum.
Delphi üzerinde geliştirdiğim uygulamalarda kullanım konforu açısından iki çeşit programlama yapıyorum. VLC ve mobil uygulama için FMX kullanıyorum.
Her ikisinde de MyDAC ile MYSQL'e bağlanıyorum. Sık sık "Lost connection" hatası verse de onu bir şekilde çözebilirim diye düşünüyorum.
Merak ettiğim şey şu. Ben PHP kullanmadan, MyDAC ile direkt bağlandığımda hosting açısından bir sorun çıkar mı? Yani hosting üzerinde yer alan MySQL direkt erişimle kullanılabilir mi? 
Daha önceden yerli bir host satın almıştım. Bana PHP olmadan kullanamazsın demişlerdi. Ki direkt olarak erişemiyordum. Bu yabancı hostlarda böyle bir sınırlandırma var mı?
Bu konuda bilgisi olan arkadaşlar görüşlerini yazarsa sevinirim...
Cevapla
#2
Merhaba,
DelphiCan'ın bulunduğu hosting Natro. Linux üzerinde PHP MaySQL ile çalışıyor.

02.png
Cevapla
#3
Benim daha önce kullanmış olduğum hosting de Natro üzerindeydi. Çok fazla sorun yaşadım. Şu an yabancı bir hostinge geçtim, 2 yılı geçti ve henüz hiç müşteri hizmetlerini dahi aramadım.
Yani binlerce kişinin kullanacağı bir sistemi bu şekilde yazabilir miyiz? Bu MySql erişim bileşenleri bize bir sıkıntı çıkartır mı?
Cevapla
#4
(22-12-2017, Saat: 16:48)nehirnnn Adlı Kullanıcıdan Alıntı: Benim daha önce kullanmış olduğum hosting de Natro üzerindeydi. Çok fazla sorun yaşadım. Şu an yabancı bir hostinge geçtim, 2 yılı geçti ve henüz hiç müşteri hizmetlerini dahi aramadım.
Yani binlerce kişinin kullanacağı bir sistemi bu şekilde yazabilir miyiz? Bu MySql erişim bileşenleri bize bir sıkıntı çıkartır mı?

Yabancı sunucuların gücü tabi ki inkar edilemez. 
Veri tabanı ne olursa olsun, önemli olan doğrudan bağlanmayıp, bir ara katman kullanarak, iş yükünü sunucuya bırakmanız; client tarafında ise yalnızca metinsel ifadeleri (XML, JSON vb.) kullanmanızdır. Bu durumda emin olun milyarlarca kayıtta bile sorun yaşamazsınız (tabi sorgu yönteminiz de son derece önem arz ediyor).
Cevapla
#5
(22-12-2017, Saat: 16:10)nehirnnn Adlı Kullanıcıdan Alıntı: Benim denemeler için kullandığım bir Godaddy hosting hesabım var. Burada yer alan siteleri ve mysql erişimini sorunsuz kullanıyorum.
Delphi üzerinde geliştirdiğim uygulamalarda kullanım konforu açısından iki çeşit programlama yapıyorum. VLC ve mobil uygulama için FMX kullanıyorum.
Her ikisinde de MyDAC ile MYSQL'e bağlanıyorum. Sık sık "Lost connection" hatası verse de onu bir şekilde çözebilirim diye düşünüyorum.
Merak ettiğim şey şu. Ben PHP kullanmadan, MyDAC ile direkt bağlandığımda hosting açısından bir sorun çıkar mı? Yani hosting üzerinde yer alan MySQL direkt erişimle kullanılabilir mi? 
Daha önceden yerli bir host satın almıştım. Bana PHP olmadan kullanamazsın demişlerdi. Ki direkt olarak erişemiyordum. Bu yabancı hostlarda böyle bir sınırlandırma var mı?
Bu konuda bilgisi olan arkadaşlar görüşlerini yazarsa sevinirim...

Bir zamanlar Godaddy firmasıyla hem php, hemde ASP.NET tabanlı site tasarımları için çalıştım. Doğrudan erişim desteği vermediği gibi çalıştırılan SQL ifadelerini bile takip ediyorlardı. Öyleki sitenin birinde çok uzun sorgular çalıştırdığım ve sunucuya aşırı yüklendiğim gibi saçma sapan ikazlarla trafiğimi bloke ediyorlardı.

MyDAc, UniDac, AnyDac, Ado vs. VCL bileşenleri ile her türlü veri tabanına uzaktan ve doğrudan erişebilirsiniz. Bunun için web hosting hizmet sağlayıcınızın uzaktan kalıcı bağlantıya (persistent connection) izin vermesi gerekir. Bildiğim kadarıyla natro bu izni veriyor. Hosting firmanıza uzak kalıcı bağlantı isteğinizi bildirmelisiniz.
Cevapla
#6
Tam da denk geldi. Yarım saattir cevap yazmaya çalışıyorum ama delphican.com a erişim yoktu Smile
Ben http://uptimerobot.com/ kullanıyorum. Sitelerime erişim kesildiğinde ve sonra tekrar erişilebilir olduğunda mail geliyor.
Bu şekilde ne kadarlık kesintiler yaşandığını öğrenebilirsiniz
Natro da iken bu gelen mailler deli etmişti beni.
Cevapla
#7
3306 bağlantıya izin vermiyor sa sunucunuz unidac ile gelen tunnel.php dosyası ile bağlantı sağlayabilirsiniz.

“Do. Or do not. There is no try.”
Cevapla
#8
(22-12-2017, Saat: 20:03)masteryoda Adlı Kullanıcıdan Alıntı: 3306 bağlantıya izin vermiyor sa sunucunuz unidac ile gelen tunnel.php dosyası ile bağlantı sağlayabilirsiniz.

Teşekkürler. Ben MyDac kullanıyorum ama sürekli "lost connection" hatası alıyorum. Dataset bir süre işlem yapılmayınca otomatik kapanıyor galiba.
UniDac bileşenini de inceleyim sizin önerinizle....
Cevapla
#9
(23-12-2017, Saat: 01:09)nehirnnn Adlı Kullanıcıdan Alıntı:
(22-12-2017, Saat: 20:03)masteryoda Adlı Kullanıcıdan Alıntı: 3306 bağlantıya izin vermiyor sa sunucunuz unidac ile gelen tunnel.php dosyası ile bağlantı sağlayabilirsiniz.

Teşekkürler. Ben MyDac kullanıyorum ama sürekli "lost connection" hatası alıyorum. Dataset bir süre işlem yapılmayınca otomatik kapanıyor galiba.
UniDac bileşenini de inceleyim sizin önerinizle....

bu network yapınızla da ilgili olabilir sunucu tarafından da olabilir en iyisi işiniz biter bitmez bağlantıyı kapatmak yanlış hatırlamıyor isem bir uniquery nesnesi ile bir sorgu çalıştırdığınızda eğer bağlı bulunduğu connection disconnect modunda ise onu connect moduna alıyordu.

“Do. Or do not. There is no try.”
Cevapla
#10
(23-12-2017, Saat: 01:09)nehirnnn Adlı Kullanıcıdan Alıntı: Teşekkürler. Ben MyDac kullanıyorum ama sürekli "lost connection" hatası alıyorum. Dataset bir süre işlem yapılmayınca otomatik kapanıyor galiba.
UniDac bileşenini de inceleyim sizin önerinizle....

UniDac bileşen setinde Uniconnection bileşeni OnConnectionLost olay yöneticisi mevcut. Bu olay yöneticisinden faydalanabilirsiniz. Diğer bir seçenek kullandığınız connection bileşeni destekliyorsa ConnectionTimeOut süresini makul bir süreye çıkarmak olabilir. Bu makül süreyi iyi ayarlamak gerekir. Aksi halde kullanıcıyı gereksiz yere oyalamış olabilirsiniz. Benim tercihim aşağıdaki gibi devam edip etmemeyi kullanıcıya bırakmak.  
TRetryMode için buraya bakabilirsiniz.

 
procedure TDMPublic.UniConnMysqlConnectionLost(Sender: TObject;
 Component: TComponent; ConnLostCause: TConnLostCause;
  var RetryMode: TRetryMode);
begin

   if Application.MessageBox('Veri tabanı bağlantısı kesildi. Tekrar bağlanılsın mı?','Bağlantı Kesildi',MB_ICONINFORMATION + MB_YESNO) = IDYES
      RetryMode := rmReconnectExecute  // - > TRetryMode = (rmRaise, rmReconnect, rmReconnectExecute);
  else
    SafetyTerminate(Application.MainForm.Handle);

end;

Web hosting üzerinde çalışan bir veri tabanı ile etkileşimli ve verimli çalışmanın en iyi yolu Datasnap, Rest, Web servis vb. uygulamalardır. Ancak kendinize ait statik IP adresli sunucuda bir çözümdür.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Runtime Create edilen nesnenin Parent erişim sorunu 41linea41 5 2.048 17-05-2021, Saat: 10:26
Son Yorum: ozcanm
  Android için derlememede MySQL hatası ferhatcelik 1 825 16-03-2021, Saat: 22:06
Son Yorum: ferhatcelik
Photo Frame form üzerindeki compoente ulaşma ilhanim 6 2.520 29-01-2021, Saat: 15:36
Son Yorum: mustafaozpinar
  [ÇÖZÜLDÜ] delphi 10.4 uzak mysql bağlantı shooterman 8 3.616 19-11-2020, Saat: 13:56
Son Yorum: Abdullah ILGAZ
  Mobil Uygulama hostingde bulunan mysql veritabanı baglantısı. Yardım! 333hiram 2 2.190 31-03-2020, Saat: 17:53
Son Yorum: 333hiram



Konuyu Okuyanlar: 1 Ziyaretçi