AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Liste aller SQL Server im Netz erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Liste aller SQL Server im Netz erstellen

Ein Thema von ToFaceTeKilla · begonnen am 10. Dez 2008 · letzter Beitrag vom 12. Dez 2008
Antwort Antwort
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#1

Liste aller SQL Server im Netz erstellen

  Alt 10. Dez 2008, 08:22
Datenbank: MS SQL Server 2005 Workgroup Edition • Zugriff über: ADO
Hiho,

wie im Titel bereits erwähnt, möchte ich eine Liste aller laufenden SQL Server (es sind ausschließlich MS SQL Server) erstellen. Nun hab ich via Google schon rausgefunden, dass das .Net-Framework 2.0 die Klasse SqlDataSourceEnumerator mitbringt. Allerdings beziehen sich alle Beispiele immer nur auf VBA. Wie kann ich aus Delphi raus darauf zugreifen?

Danke schonmal
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Liste aller SQL Server im Netz erstellen

  Alt 10. Dez 2008, 09:18
Im Entwickler-Forum gibt es beispiele fer NetServerEnum, SQLDMO und ODBC-API
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Liste aller SQL Server im Netz erstellen

  Alt 10. Dez 2008, 10:16
Danke dir, das werd ich mir mal angucken.
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
XiaN

Registriert seit: 14. Jul 2006
19 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Liste aller SQL Server im Netz erstellen

  Alt 12. Dez 2008, 13:41
Wenn du es nicht 100% genau brauchst, dann hilft dir evtl. der Schnipsel hier :

Delphi-Quellcode:
function TSubnet.Ping(IP, Port: string): string;
var
  CurrentPC: TIdTCPClient;

begin

  Result := 'Online';

  CurrentPC := TIdTCPClient.Create(nil);
  CurrentPC.Host := IP;
  CurrentPC.Port := StrToIntDef(Port, 80);

  try

    CurrentPC.Connect;

  except

    on E: Exception do
    begin

      if AnsiContainsStr(E.Message, 'Socket Error # 10061') then
      begin
        Result := 'Service not available [' + AnsiReplaceStr(E.Message, #13#10, ' - ') + ']';
      end;

      if AnsiContainsStr(E.Message, 'Socket Error # 11001') then
      begin
        Result := 'Offline [' + AnsiReplaceStr(E.Message, #13#10, ' - ') + ']';
      end;

    end;

  end;

  CurrentPC.Free;
  Application.ProcessMessages;

end;
Der Standard MySQL Port ist glaube ich 3306.

Edit : Gut der MYSql Port hilft dir vmtl. nich viel ^^
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#5

Re: Liste aller SQL Server im Netz erstellen

  Alt 12. Dez 2008, 13:43
1. Geht es um MS SQL und da man MS SQL auch gerne über Named Pipes anspricht hilft es 2. eigentlich gar nicht, irgendwelche Ports zu prüfen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
XiaN

Registriert seit: 14. Jul 2006
19 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Liste aller SQL Server im Netz erstellen

  Alt 12. Dez 2008, 13:47
Ich verles mich bei MSSQL und MYSQL immer wieder

Evtl. hilfts ja trotzdem irgendwem.
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Liste aller SQL Server im Netz erstellen

  Alt 12. Dez 2008, 14:57
vielleicht hilft dir das weiter

Delphi-Quellcode:
procedure TfSettings.ComBDBServernameEnter(Sender: TObject);
var DMOApp, SrvList: OleVariant;
    i : Integer;
begin
  Screen.Cursor := crhourglass;
  Application.ProcessMessages;
  try
    ComBDBServername.clear;
    DMOApp := CreateOleObject('SQLDMO.Application');
    SrvList := DMOApp.ListAvailableSQLServers;
    for i:=1 to SrvList.count do
    begin
      ComBDBServername.AddItem(varToStr(Srvlist.item(i)),nil);
    end;
    FreeAndNil(DMOApp);
    FreeAndNil(SrvList);
  except
    Screen.Cursor := crdefault;
    Application.ProcessMessages;
  end;
  Screen.Cursor := crdefault;
  Application.ProcessMessages;
end;
so mach ich es in einem Program von mir...
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz