Bilgisayarda MySQL yüklümü?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Bilgisayarda MySQL yüklümü?

Mesaj gönderen vkamadan »

Merhaba arkadaşlar,
bir arayüz geliştiriyorum, kullanıcı ağ üzerindeki makinaları görerek seçim yapabiliyor, ama şöyle bir sorum olacak acaba socket ler yardımıyla bir bilgisayarda mysql çalışıp çalışmadığını nasıl öğrenebilirim? yani ağ üzerindeki makinaları listelerken aynı zamanda o bilgisayarda çalışan bir mysql varsa ona ilişkin bir simge koyacağım.
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Cevap

Mesaj gönderen AliRiza »

Arkadaşım benim ilk aklıma gelen mysql'in kurulu olup olmadığını anlamak için mysql'in öncelikle kullandığı dll dosyasına bakman gerekir.Yani ağ üzerinden programınla önce kişinin makinesinde dll araması yaptırman gerekecek.Hangi dll'i kullandığına kendinde kurulu olan mysql'den bak.Kişinin makinesindede programın açılışında bu dll'i arat
varsa mysql kurulu yoksa kurulu değildir..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
bu iş socet ler ile yapılabiliyor ama nasıl yapıldığını bilmiyorum mesela mysql 3306 numaralı portu dinliyor,
biz nasıl bir çağrı göndemeliyizki gelecek cevaba yada gelmeyecek cevaba göre kurulu olup olmadığını nasıl anlaya ibliriz. mesela telnet localhost 3306 dediğimde ekrana mysqlnin versiyonu ve bir kaç acsii karakter geliyor.
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
ertug
Üye
Mesajlar: 82
Kayıt: 10 Ara 2004 05:41

Mesaj gönderen ertug »

Merhaba,

Sorunuza kendinz cevap vermişsiniz.
vkamadan yazdı:mysql 3306 numaralı portu dinliyor
...
telnet localhost 3306 dediğimde ekrana mysqlnin versiyonu ve bir kaç acsii karakter geliyor.
Indy Clients kulakçığındaki IdTelnet nesnesini kullanarak uzaktaki makineye 3306 portu üzerinden erişin. Sürüm bilgisini cevap olarak alıyorsanız karşı tarafta MySQL kurulu ve çalışıyor demektir. Ama bildiğim kadarıyla MySQL portu değiştirilebiliyor. Varsayılandan farklı bir portu dinliyorsa işiniz çok zor...

Ertuğ Kaya
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Teşekkür ederim,
socketler ile ilgili hiç çalışmam olmadı şöyle bir deneme yaptım ama başarılı olmadım.
TidTelnet in;
host = 10.0.0.24 (MySQL kurulu makina)
port = 3306

sonra connect metodunu çalıştırdım.
gerçi OnConnect , OnDataAvaible , OnStatus , OnWork gibi olaylarda denemem rağmen ilgili bilgiye ulaşamadım ama yanlış bir komutta kullanıyor olabilirim ben bilgiyi, TidTelnet.readln(); ile okumaya çalışıyorum. ?
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar ben Delphi 6 kullanıyorum Bu yüzden hep socketlerde Clientsocket i kullanıyorum 7 de indy var ama istenirse eklenebiliyor.
Yakın bir kullanımı olması gerekiyor.
hostun ip sini , port u ayarladıktan sonra Onconnect olayına

Kod: Tümünü seç

 caption:="Şu anda bağlı"
dersen ve connect olduğunda sorun olmuyorsa.

onread event ında

Kod: Tümünü seç

 var 
  s:string
  Begin
  s:=ClientSocket1.Socket.ReceiveText


ile gelen mesajı alabilirsin.

Zannedersem senin kullandığın bileşenlerde yakın bir kullanıma sahiptir.

Kolay Gelsin
I love my car.
Blog Yaptık
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

merhaba ,
söylediğiniz gibi TClientSocket nesnesiyle dedikleriniz yaptım ama elde ettiğim bilgi sadece * devamı yok, evet telnete bağlandığımızda ilk gelen karakter * ama gerisini nasıl alacağım,
teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar Mysql hiç kullanmadığım için tam neler geldiğini bilmiyorum ama, * karakterinde sonra ,Telnet ile bağlandığında bir karekter falan yolluyormusun yoksa * dan sonra kendimi diğer karakterleri göderiyor.
I love my car.
Blog Yaptık
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

selamlar

Kod: Tümünü seç

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
a,s:string  ;
i:integer;
begin
        s:=ClientSocket1.Socket.ReceiveText;
        for i:=0 to length(s) do begin
                if s[i]<>#0 then   A:=A+S[i]
        end;
        Memo1.Lines.Add (trim(a));

     
end;
bu kodla "(" dan başka diğerlerini de alabilirsin. direk S değişkenini kullanınca sade ( çıkıyor. ama içinden #0 lar ayıklanırsa "(
3.23.58é)vZ>gnstm," gibi bir değer alabiliyorsun.

Kolay Gelsin iyi Çalışmalar.
I love my car.
Blog Yaptık
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Sayın, P206
ilginiz için çok teşekkür ederim. belirttiğiniz yöntemle sonuca ulaştım.
Fakat şimdi benim amacım network üzrindeki MySQL sunucularını tespit etmek doğru adrres ve sockete eriştiğimde sorun yok değeri okuyorum ve bu makinada sunuc vardır diyorum ama ya yoksa sistem bir mesaj üretiyor, bunu OnError ile kontrol etmeye çalıştım ama oluşan hatada bu olay tetiklenmedi, bende TClientSocket.Active:=true dediğim kodu bir try except bloğuna aldım aam hatayı buradadda kontrol edemedim, yani sonuçta mysql olmayan makinaya denk geldiğinde program kırılıyor. bu hatayı hangi metodda kontrol etmeliyim.
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla