iyi akşamlar.
Programda kullandığım Adoconnection, Adoquery yerine
Fdconnection FDquery kullanmaya başladım.
Sql server 2019 Express veritabanı kullanılıyor.
Ana makinada hiç bir sorun yok ana terminal makinada
Bazı formlarda aşağıadaki hatayı veriyor
firedac phys odbc microsoft odbc sql server driver connection is busy with results for another hstmt
bu hatayı verirken başka makina aynı ana makinaya normal bağlanıyor ve hata vermiyor.
Aynı programı başka iki bilgisayara kuruyorum ana makina terminal olarak hiç hata vermeden çalışıyor.
Terminal z:\ sürücü adıyla ana makinaya bağlı
Firedac connection özel bir ayar yapmadım.
sadece Driver ID MSSQL
Terminal makinaya ek bir program mı kurmalı bu konuda tecrübesi olan oldu mu?
Yada sorun ana makidaki bir ayarda mı
Google sordum Fetchall, mars ve benzeri bazı önerilerde bulunulmuş bunları denedim ama netice alamadım.
Çözüm :
connection parametrelerine
sunucu_baglan.Params.Values['ODBCAdvanced'] := 'MultipleActiveResultSets=True'; bu satır eklendi.
devamında sorgularda
Programda kullandığım Adoconnection, Adoquery yerine
Fdconnection FDquery kullanmaya başladım.
Sql server 2019 Express veritabanı kullanılıyor.
Ana makinada hiç bir sorun yok ana terminal makinada
Bazı formlarda aşağıadaki hatayı veriyor
firedac phys odbc microsoft odbc sql server driver connection is busy with results for another hstmt
bu hatayı verirken başka makina aynı ana makinaya normal bağlanıyor ve hata vermiyor.
Aynı programı başka iki bilgisayara kuruyorum ana makina terminal olarak hiç hata vermeden çalışıyor.
Terminal z:\ sürücü adıyla ana makinaya bağlı
Firedac connection özel bir ayar yapmadım.
sadece Driver ID MSSQL
Terminal makinaya ek bir program mı kurmalı bu konuda tecrübesi olan oldu mu?
Yada sorun ana makidaki bir ayarda mı
Google sordum Fetchall, mars ve benzeri bazı önerilerde bulunulmuş bunları denedim ama netice alamadım.
Çözüm :
connection parametrelerine
sunucu_baglan.Params.Clear;
sunucu_baglan.LoginPrompt := False;
sunucu_baglan.Params.Add('DriverID=ODBC');
sunucu_baglan.Params.Add('ODBCDriver=SQL Server');
sunucu_baglan.Params.DriverID := 'MSSQL';
sunucu_baglan.Params.Values['Server'] := sql_server; // Sunucu
sunucu_baglan.Params.Values['Database'] := giris_prg.database_adi; // Veritabanı
sunucu_baglan.Params.Values['User_Name']:= sql_username; // Kullanıcı
sunucu_baglan.Params.Values['Password'] := sql_password; // Şifre
sunucu_baglan.Params.Values['ODBCAdvanced'] := 'MultipleActiveResultSets=True'; // çoklu connectiona izin veriyor
sunucu_baglan.Connected := True; // hatasız bağlandı.
sunucu_baglan.Params.Values['ODBCAdvanced'] := 'MultipleActiveResultSets=True'; bu satır eklendi.
devamında sorgularda
stok_sorgu.FetchOptions.Mode := fmAll; // çoklu conection hatasını önlüyor. stok_sorgu.FetchOptions.RowsetSize := 100; // verileri gride yüklerken faydası oluyorsorgu çalıştırılmadan önce bu ayarlar uygulandı.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)

