Einzelnen Beitrag anzeigen

daniel71

Registriert seit: 27. Sep 2007
38 Beiträge
 
Delphi XE Professional
 
#6

Re: Automatische verbindung mit lokalem MSSQL Server

  Alt 7. Jan 2008, 00:17
Hallo

Das mit der Verbindung ohne Instanzangabe hatte damals doch nicht funktioniert, und ich möchte hier meine Lösung niemandem vorenthalten. Es gibt sicherlich bessere Wege, als die, die ich gefunden habe, aber sie funktioniert.

Auch mit NetServerEnum fand ich den Instanzname nicht.

Mit den Diensten Auslesen kam ich auch auf keinen grünen Zweig.

Durch auslesen der Registry:
Delphi-Quellcode:
Uses
 Registry, ComCtrls;
--------------------------------

procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
    sList: TStringList;
    i: integer;
    Item: TListItem;
    Column: TListColumn;
begin
  ListView1.ViewStyle := vsReport;
  ListView1.Columns.Clear;
  Column := ListView1.Columns.Add;
  Column.Caption := 'Name';
  Column.AutoSize := true;
  Column := ListView1.Columns.Add;
  Column.Caption := 'Wert';
  Column.AutoSize := true;
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  sList := TStringList.Create;
  try
    if Reg.OpenKey('Software\Microsoft\Microsoft SQL Server\Instance Names\SQL',false) then
      begin
        Reg.GetValueNames(sList);
        for i := 0 to sList.Count - 1 do
          begin
            Item := ListView1.Items.Add;
            Item.Caption := sList[i];
            Item.SubItems.Add(Reg.ReadString(sList[i]));
          end;
        Reg.CloseKey;
      end;
  finally
    Reg.Free;
    sList.Free;
  end;
end;
  Mit Zitat antworten Zitat