Datasnap mysql donma sorunu. - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Datasnap mysql donma sorunu. (/showthread.php?tid=4528) |
Datasnap mysql donma sorunu. - seci20 - 15-02-2020 Merhaba ustalarım. Datasnap dsauthenticationmanager kısmında kullanıcı adı şifre kontrolü yapıyorum. Mysql olarak yapıyorum lakin belli bir süre sonra donmalar meydana geliyor ve sunucu kullanılmaz oluyor. Anlık olarak 300 kullanıcıya çıkabiliyor bazen. Merak ettiğim konu şu. Mysql bağlantısını auth kısmında create yapıyorum ve işlem bitince free yapıyorum. Donma sebebi bu olabilirmi ? Doğru kullanım bumudur ? Formda objeleri oluşturup kullanmakmı doğrusudur yardımlarınızı bekliyorum. Kullanıdığım kod. procedure TScForm.DSAuthenticationManager1UserAuthenticate( Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: TStrings); var con1: TSQLConnection; conqurty: TMyQuery; begin con1 :=TSQLConnection.Create(nil); conqurty:= TMyQuery.Create(nil); try conqurty.Connection:= con1; QUsr.Close; QUsr.SQL.Text:='select * from **** where username='+QuotedStr(User); QUsr.Open; if QUsr.RecordCount = 0 then valid := false else valid := True; finally conqurty.Free; con1.Free; end; end; Datasnap mysql donma sorunu. - otonomi - 15-02-2020 Datasnap projesi oluştururken, project wizard ekranında aşağıdaki sırayla gitmeni tavsiye ederim; Forms Application > VCL Application > TDataModule Bu şekilde ServerMethods1 ve ServerContainer1 aslında TDataModule halindedir. ServerMethods1 üzerine koyacağın TFDConnection nesnesi üzerinden veritabanı bağlantılarını yaparsan başın ağrımaz DSAuthenticationManager1UserAuthenticate bulunduğu UNIT türü (her ne kadar TDataModule olsa bile) Authentication & Transportation amaçlı yapılmış, allengirli veritabanı işlemleri için tavsiye edilmiyor (her ne kadar Session bile olsa) ServerContainer1 üzerine birer adet FDConnection1, FDQuery1, FDGUIxWaitCursor1, FDPhysMySQLDriverLink1 koy, sonra da aşağıdaki kodu yaz, cillop gibi çalışır Aşağıdaki kodu denedim, çalışıyor procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate(Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: TStrings); begin FDConnection1.Connected:=True; FDQuery1.Active:=False; FDQuery1.SQL.Clear; FDQuery1.Params.Clear; FDQuery1.SQL.Add('SELECT * FROM user_table '); FDQuery1.SQL.Add('WHERE user_name='+QuotedStr(User)+' AND pass_word='+QuotedStr(Password)); FDQuery1.Active:=True; FDQuery1.First; if FDQuery1.RecordCount=0 then valid:=false else valid:=True; FDQuery1.Active:=False; FDConnection1.Connected:=False; end; Cvp: Datasnap mysql donma sorunu. - seci20 - 15-02-2020 (15-02-2020, Saat: 13:40)otonomi Adlı Kullanıcıdan Alıntı: Datasnap projesi oluştururken, project wizard ekranında aşağıdaki sırayla gitmeni tavsiye ederim; Tamamdır hocam test edeceğim teşekkür ederim. |