server adı veritabanı adlarını almak....

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
i_zec
Üye
Mesajlar: 119
Kayıt: 01 Tem 2005 03:07

server adı veritabanı adlarını almak....

Mesaj gönderen i_zec »

kolay gelsın arkadaslar..
MS SQL server 2000 kurulu .delphi ile SQLserver dakı server adını ve buna bağlı olarak ona ait veritabanı adlarını nasıl alabilirm.ve bağlantıyı nasıl sinayabilirmm... Yardımcı olursanız sevinirim...
iyi çalışmalar....
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Sanki biraz istediklerinizde tutarsız bir durum söz konusu.

Server'a bağlanıp, bağlantıyı sınamak biraz doğru bir tanımlama değil gibi :)

Şimdi, önce Server'ı bilmelisiniz, bilemezseniz bağlanamazsınız. Ya IP üzerinden yada Named Pipes ile Server Adıyla bağlantı kurabilirsiniz ilgili server'a.

O serverda çalışmakta olan M$-SQL Server instance'ının run olup olmadığını da Server'a bağlanırken (bağlanıp bağlanamadığınıza bakarak) karar verebilirsiniz. Bağlantı tamamsa, Server ordadır ve ayaktadır, bağlanamadıysanız zaten ya Server RUN durumda değildir yada orda öyle bir Server yoktur.

Master DB'de, sysdatabases adında bir sistem tablosu olması gerekiyor, oraya connect olup, normal SELECT ile o tablodan db adlarını çekebilirsiniz.

Kolay Gelsin

NOT : Bunların dışında bir yöntem varsa ben bilmiyorumdur, bilen varsa anlatsın biz de öğrenmiş oluruz.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
i_zec
Üye
Mesajlar: 119
Kayıt: 01 Tem 2005 03:07

Mesaj gönderen i_zec »

benım yapmak istedığım kısaca şu ..(tutarsızlıkları boşverelim.)kullanıcıya ona o makınada kurulu olan veya ağda kurulu olan SQL serveri seçtirmek ve o server a ait veritabalarını listelemek ..
umarım açık olmuştur...
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Hmmmm,

Valla Enterprise Manager'da bile bu özellik yok orada dahi kendin manuel ekliyorsun.

Belki Ağdaki makinalar taranıp, M$-SQL Server'ın Portuna birkaç veri yazmayı deneyerek orda bir server olup olmadığını tespit edebilirsin gibime geliyor. Ayrıca DB Listesini almak için de dediğim gibi Master DB'ye connect olup oradan bir sorgu ile o listeyi alabilirsin.

Biraz uğraştırır gibime geliyor, bunun yerine bir INI dosyasına Ağdaki Mevcut Server'ları ve DB'leri yazıp, oradan seçmesini sağlasan daha iyi olur gibi.

Tabi işin niteliğini bilmeden biraz yorum yaptım ama belki işini görür.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Mesaj gönderen m_ekici »

Merhaba
Aşağıdaki kodla (bağlı olduğun serverdaki) DB ve Tablo isimlerini bulabilirsin. Fakat önce SQL'e bağlanman lazım. Hangi connection aktif ise ona ait listeyi veriri.

Kod: Tümünü seç

   
AC_.Close;    // AdoQuery
AC_.SQL.Clear;
AC_.SQL.Add('sp_databases');
AC_.Open;

AC_.Close;
AC_.SQL.Clear;
AC_.SQL.Add('sp_tables');
AC_.Open;
Cevapla