Konu: String Connect
Geliştirdiğim uygulamalarda "sql_baglanti.prg" program dosyası ile her işlem için sql server ile bağlantı kuruyor ve işlem bitiminde disconnect ile çıkışımı tamamlıyorum.
Sorum,
Programı açtığımda connecti yapmam ve her yerde ilk connecti kullanmam hata ile karşılaştığımda connecti test ederek tekrar bağlantı kurmam aksi durumda hata mesajına düşmem mi? uygun yoksa ilk satırda belirttiğim gibi her işlemde connect ile bağlantı ve işlem sonunda disconnect ile bağlantıyı koparmam mı? uygun.
Bunu sormamın nedeni ise her işlemde bağlantı için yazılan satır işlemi bazen angarya gibi geliyor . Yazmaktan kaçmıyorum çok hoşuma gidiyor ancak genede zamandan tasarrufumu arttırmak istiyorum.
*******
"sql_baglanti.prg" komut satırımda aşağıdaki gibi;
IF FILE("ayar.dbf")
SELECT * FROM ayar INTO CURSOR _tcpip READWRITE
USE IN ayar
ELSE
SELECT * FROM yed_ayar INTO CURSOR _tcpip READWRITE
USE IN yed_ayar
ENDIF
PUBLIC sql_bag
PUBLIC databases_adi
PUBLIC sql_bag, strconstring
PUBLIC sql_baslangic, sql_bitis, lndiff
PUBLIC server_turu, databases_ad, kullanici_adi, kullanici_sifre
PUBLIC ndisplogin
PUBLIC frm_kullanici, frm_kullanici_sifre
IF USED("_tcpip")
SQLSETPROP(0, 'DispLogin', 3)
sql_bag = 0
databases_ad = ""
databases_adi = ""
IF _tcpip.lokasyon=2
server_turu = ALLTRIM(_tcpip.tcp_ip)
ELSE
server_turu = ALLTRIM(_tcpip.local)
ENDIF
kullanici_adi = "xxxx"
kullanici_sifre="yyy"
*** SQL SERVER 2012 VE 2014
strconstring = "DRIVER={SQL SERVER NATIVE CLIENT 11.0};SERVER=&server_turu;DATABASE=&databases_ad;UID=&kullanici_adi;PWD=&kullanici_sifre;"
*** SQL SERVER 2000
* strconstring = "DRIVER={SQL SERVER};SERVER=&server_turu;DATABASE=&databases_ad;UID=&kullanici_adi;PWD=&kullanici_sifre;"
m.sql_baslangic = DATETIME()
sql_bag = SQLSTRINGCONNECT(m.strconstring, .T.)
USE IN "_tcpip"
ENDIF