Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Server auflisten (https://www.delphipraxis.net/159749-sql-server-auflisten.html)

needatip 11. Apr 2011 14:45

Datenbank: MS SQL Server • Version: 2008 • Zugriff über: ADO

SQL Server auflisten
 
Hallo. Ich versuche mit folgender Prozedur die existierenden SQL Server aufzulisten, bekomme aber folgenden Fehler:
"ungültige Variantenoperation"

Delphi-Quellcode:
procedure TfmSQLServer.FormCreate(Sender: TObject);
var DMOApp, SrvLst: Variant;
            i: Integer;
    aItem: TListItem;
begin
  for i:=1 to SrvLst.Count do
    ComboBox1.Items.Add(SrvLst.Item(i));
end;

Bernhard Geyer 11. Apr 2011 14:50

AW: SQL Server auflisten
 
Und das soll der gesamte Quellcode sein? Woher hast du den Codeausschnitt "geguttenbergt" (kopiert)?

omata 11. Apr 2011 15:00

AW: SQL Server auflisten
 
@needatip: Die lokale Variable "SrvLst" wird doch gar nicht initialisiert! Wie soll das gehen? Von was (Objekt?) wird da z.B. das Count gebildet?

shmia 11. Apr 2011 15:02

AW: SQL Server auflisten
 
[OT]"geguttenbergt" braucht eigentlich nicht mehr erklärt zu werden. :stupid:
Bis in 2 Jahren müsste es auch eine Eintragung im Duden geben. :stupid: [/OT]

Bernhard Geyer 11. Apr 2011 15:17

AW: SQL Server auflisten
 
DMOApp hört sich nach SQLDMO an. Nach MS ist diese Schnittstelle abgekündigt

needatip 11. Apr 2011 15:54

AW: SQL Server auflisten
 
Sorry hab den Quelltext reinkopiert und dann ein paar Zeilen zuviel auskommentiert.
Bekomm jetzt einen "EOleSysError" mit der Meldung "ungültige Klassenzeichenfolge"
Delphi-Quellcode:
procedure TfmSQLServer.FormCreate(Sender: TObject);
var DMOApp, SrvLst: Variant;
            i: Integer;
    aItem: TListItem;
begin
  DMOApp := CreateOleObject('SQLDMO.Application');
  SrvLst := DMOApp.ListAvailableSQLServers;
  for i:=1 to SrvLst.Count do
    ComboBox1.Items.Add(SrvLst.Item(i));
end;

generic 11. Apr 2011 16:06

AW: SQL Server auflisten
 
Dieses Objekt "SQLDMO.Application" gibt es nicht auf deinem Rechner.

Vermutlich ist die DLL (ComObj) nicht registriert.

needatip 11. Apr 2011 16:12

AW: SQL Server auflisten
 
Ok, wie kann ich diese registrieren, bzw. was für eine Möglichkeit gibt es noch die SQL Server auflisten zu lassen?

generic 11. Apr 2011 16:23

AW: SQL Server auflisten
 
Evtl. reicht es wenn du die Management Tools installierst.

In der Compact-/Express-Edition ist das Objekt auch drin.
Was hast du denn auf deinen Rechner installiert, was mit dem SQL-Server zu tun hat?
Hast du überhaupt etwas installiert?
Das Objekt gehört nicht zum Lieferumfang von Windows.
Das heißt aber auch, dass du es mit deinem Programm ausliefern musst.

Registrieren geht mit dem Programm "regsvr32".
Muss nur die DLL raus finden, wo das Objekt definiert ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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