Ms Sql Database Connection sorunu
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Ms Sql Database Connection sorunu
Merhabalar. Mssql kullandığım bir projem var, ağ üzerinde 2 bilgisayarda çalışıyorum.
Post olayını Chash Update yi açıp Query nin before post una yazıyorum. Eski Makine Olduğu için diğer bilgisayar bazen SQL cvap vermiyo veya kapalı oluyo. ondan dolayı hata veriyor. Kullanıcının karşılaşması hoş değil. Bu durumlarda Post etmeden önce nasıl bi kontrol önerirsiniz ?
Database nin Bağlı olup olmadığına dair kontrol koydum ama çalışmadı. Yine Kendi hatasını veriyor.
Birde Herhangi bir tabloya sorgu gönderiyorum öyle kontrol ediyim dedim ama yine aynı. ne yapmalıyım?
Selamlar...
Post olayını Chash Update yi açıp Query nin before post una yazıyorum. Eski Makine Olduğu için diğer bilgisayar bazen SQL cvap vermiyo veya kapalı oluyo. ondan dolayı hata veriyor. Kullanıcının karşılaşması hoş değil. Bu durumlarda Post etmeden önce nasıl bi kontrol önerirsiniz ?
Database nin Bağlı olup olmadığına dair kontrol koydum ama çalışmadı. Yine Kendi hatasını veriyor.
Birde Herhangi bir tabloya sorgu gönderiyorum öyle kontrol ediyim dedim ama yine aynı. ne yapmalıyım?
Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

Re: Ms Sql Database Connection sorunu
Hocam yukarıda belirtiğiniz kodları verirseniz daha faydalı olunabilinir.Karinca yazdı: Database nin Bağlı olup olmadığına dair kontrol koydum ama çalışmadı. Yine Kendi hatasını veriyor.
Birde Herhangi bir tabloya sorgu gönderiyorum öyle kontrol ediyim dedim ama yine aynı. ne yapmalıyım?
Çünkü bu tip işlemler için zaten bu kontrollerden başka bişey yapmanıza mümkün. yok.
Saygılarımla
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Kod: Tümünü seç
if F_MyUnit.db.Connected = False then begin showmessage('Bağlantı Yok, Lütfen Konrtol Edin'); abort end else
......// post vs kodlar
Kod: Tümünü seç
procedure CheckConnection;
var
i:integer;
begin
i:=0;
F_MyUnit.Q1.Close;
F_MyUnit.Q1.SQL.Text:='select * from ayarlar';
Try
F_MyUnit.Q1.Open;
except
i:=1;
end;
if i=1 then
begin
showmessage('Server bağlantısı koptu program kapatılacak. !');
halt;
end;//if
end;// CheckConnection;
Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

Merhaba;
Kodlarda bir sorun gözükmüyor. MSSQLSERVER'a nasıl bir bağlantı şekli ile ulaşıyorsunuz acaba
Ben sql server için direk bağlantı yapmıyorum. ODBC ile bağlanıyorum .
Sizin için şimdi denedim sonuç olumlu sql serveri Stop edip programı derledim ve bağlantı sağlanamadı mesajını verdi.
Saygılarımla
Kolay gelsin.
Gelişmelri yazarsanız daha farklı fişkirler çıkacağına eminim bence sizin ufajk bir mantıksal hatanız olabilr.
Kodlarda bir sorun gözükmüyor. MSSQLSERVER'a nasıl bir bağlantı şekli ile ulaşıyorsunuz acaba

Ben sql server için direk bağlantı yapmıyorum. ODBC ile bağlanıyorum .
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from FINSAT450.STK');
TRY
ADOQuery1.OPEN;
EXCEPT
SHOWMESSAGE (' Bağlantı Sağlanamadı :(' );
END;
end;
Saygılarımla
Kolay gelsin.
Gelişmelri yazarsanız daha farklı fişkirler çıkacağına eminim bence sizin ufajk bir mantıksal hatanız olabilr.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Tşk ederim Hocam.
Bende ODBC ile bağlanıyorum. Yalnız BDE deki bileşenleri Kullanıyorum. Bendeki Kodun bi benzerini yazmışsınız sanırım. Benim Testimde de hala kendi hatasını veriyor.
Neyse Bakim Biraz, birşe olursa söylerim

Selamlar...
Bende ODBC ile bağlanıyorum. Yalnız BDE deki bileşenleri Kullanıyorum. Bendeki Kodun bi benzerini yazmışsınız sanırım. Benim Testimde de hala kendi hatasını veriyor.
Neyse Bakim Biraz, birşe olursa söylerim


Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

Eğer ODBC + BDE + CachedUpdates kullanıyorsanız, bağlantı olup olmadığını sizin de yaptığınız gibi
şeklinde kontrol edebilirsiniz.
Sorun tam nerede çıkıyor bunu baştan adım adım anlatırsanız yardımcı olabilirim. Ben daha önce bu bahsettiğiniz biçimde (ODBC + BDE + CachedUpdates) kullandım bir sorun da olmuyordu.
Kolay Gelsin
Kod: Tümünü seç
if not Database1.Connected then
begin
ShowMessage('') ;
Abort ;
end ;
Sorun tam nerede çıkıyor bunu baştan adım adım anlatırsanız yardımcı olabilirim. Ben daha önce bu bahsettiğiniz biçimde (ODBC + BDE + CachedUpdates) kullandım bir sorun da olmuyordu.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Hocam Parogramı açarken kullanıcınısı ve İzinlerini seçtirtiyorum.
Sonra Database yi bağlıyorum. İşlemler başlıyo.
Herhangi bir formda işlem yapmaya başlıyorum. Sonra Before Post a İnsert cümlesi ile veri ekliyorum.
Denerken; bütün alanları dolduruyorum ve kaydet tuşuna bamadan SQL server i stop ediyorum. Kaydet dediğim zaman makine önce bayılıyo, baya bi bekliyo ve bağlantının olmadığına dair kendi msj ını veriyor. benim kontrolüme bakmıyo.
Acaba Event yakalamamı(nasıl olcaksa
) olur veya da ağ üzerinden gidip maikineyi felanmı kontrol ettirsek ? veya veya kayıt yaptıktan sonra:
İnsert çalıştıktan sonra tabloya ekleiğimiz veriyi mi kontrol ettirsek
diyerek mi kontrol etsek ? ama program geneline bakınca baya da kasacak bi durum. 
Selamlar...
Sonra Database yi bağlıyorum. İşlemler başlıyo.
Herhangi bir formda işlem yapmaya başlıyorum. Sonra Before Post a İnsert cümlesi ile veri ekliyorum.
Denerken; bütün alanları dolduruyorum ve kaydet tuşuna bamadan SQL server i stop ediyorum. Kaydet dediğim zaman makine önce bayılıyo, baya bi bekliyo ve bağlantının olmadığına dair kendi msj ını veriyor. benim kontrolüme bakmıyo.
Acaba Event yakalamamı(nasıl olcaksa

İnsert çalıştıktan sonra tabloya ekleiğimiz veriyi mi kontrol ettirsek
Kod: Tümünü seç
//ad isimli alana a değerini yazdırdığımızı farzedersek
Select * tebloismi where ad="a"

Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Kod: Tümünü seç
Query1.Close;
Query1.SQL.Text :=' begin transaction '+
' insert into web_paket ( '+
' paket_id, '+
' paket_adi, '+
' top_dmn, '+
' alan, '+
' trafik, '+
' ) values ( '+
pak_adi.text+', '+
pak_id.text+', '+
pak_dmn.text+', '+
pak_alan.text+', '+
pak_trafik.text+', '+
' ) '+
' commit transaction ';
Query1.ExecSQL;
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

Coder Lord Haklı,
Bana yaptığınız çok doğru kurgulanmış bir yapı gibi gelmedi.
??? Before Post'ta INSERT cümlesi kullanmak. Maksadı tam olarak anlayamadım !
Biraz daha genişletmek mümkün mü?
Kolay Gelsin
Bana yaptığınız çok doğru kurgulanmış bir yapı gibi gelmedi.
??? Before Post'ta INSERT cümlesi kullanmak. Maksadı tam olarak anlayamadım !
Biraz daha genişletmek mümkün mü?
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Sorunda Post un başarısız olmasını engellemek. SQL server cevap vermediğinde veya kapalı olduğunda sorun oluyor. Sonra Elle düzeltmem gerekiyor felan filan.
Yani siz Eğer rollback geldiğinde veya post başarısız olursa trigger vasıtasıyla msj verdirtiyorum diyosunuz. Buna bakmalıyım. Tşk ler.
Selamlar...
Yani siz Eğer rollback geldiğinde veya post başarısız olursa trigger vasıtasıyla msj verdirtiyorum diyosunuz. Buna bakmalıyım. Tşk ler.
Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

bir mürşide bende olmak cümleden evla imiş
h.z. Fatih

- Karinca
- Üye
- Mesajlar: 239
- Kayıt: 25 Ağu 2004 07:06
- Konum: http://localserver/
- İletişim:
Hayır hayır. Farklı tabloya Insert'i BeforePost yerine Trigger'dan yapıyorum demek istedim.
Yani olay şöyle ki:
Yani olay şöyle ki:
Kod: Tümünü seç
Query1.Open;
Query1.Insert;
Query1.FieldByName('Test').Value:= 'TEST';
try
Query1.Post; // Bu başarılı olursa VT içindeki Trigger'da diğer tabloya insert eder
Commit;
except
Rollback; // Bütün değişiklikleri geri al.
// Burada hata mesajı da verilebilir.
end;
Re: Ms Sql Database Connection sorunu
Karinca yazdı:Merhabalar. Mssql kullandığım bir projem var, ağ üzerinde 2 bilgisayarda çalışıyorum.
Post olayını Chash Update yi açıp Query nin before post una yazıyorum. Eski Makine Olduğu için diğer bilgisayar bazen SQL cvap vermiyo veya kapalı oluyo. ondan dolayı hata veriyor. Kullanıcının karşılaşması hoş değil. Bu durumlarda Post etmeden önce nasıl bi kontrol önerirsiniz ?
Database nin Bağlı olup olmadığına dair kontrol koydum ama çalışmadı. Yine Kendi hatasını veriyor.
Birde Herhangi bir tabloya sorgu gönderiyorum öyle kontrol ediyim dedim ama yine aynı. ne yapmalıyım?
////////////////////////////////////////////////////////////////////////////////////
sorun kısmının Bura olduğunu anladım ...
Eski Makine Olduğu için diğer bilgisayar bazen SQL cvap vermiyo veya
kapalı oluyo. ondan dolayı hata veriyor.
sizin sıkıntınız...:: bu hatanın kullanıcıya yanması...
////////////////////////////////////////////////////////////////////////////////////
Tuannanın cevabı..:Bu hatanın kullanıcıya yanımasını engellemek için su tür bir sey yazarız ama bence bu connect olmadığında bir hatayı olayı vardır...onu yakalıyp hata olmadığını söyleyebilriz...
ama bu hata olayını yakalamadanda sunuda yapsak olur ama profesyonelce değil
try
if not Database1.Connected then
begin
ShowMessage('') ;
Abort ;
end ;
except
/// hata oluştuğunda belkide kullancıya uygun bir dile bir seyler söleyebilirz...veya biz işlemi sonlandırırız...
end;
bu mesajı yazıyor olmama ragmen bir yerde okumuştum bağlantı hatasında oluşnca kodu yakalbiliyorduk...bence o yolla çözmek lazım ....
kolay gelsin ben o olaya bakacam....
Selamlar...
Siz hayal edin...Biz yapalım TuannaSoft...