![]() |
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADOConnection
Automatische verbindung mit lokalem MSSQL Server
Hallo
Ich scheribe ein tool das aus einer bestehenden datenbank von einem anderen programm ein dispo zeichnet. Dieses programm (zum programmieren einer PBX) überprüft bei der installationsrutine ob schon ein sql server installiert ist, wenn nicht, wird zuerst der MS SQLExpress 2005 installiert. Ich weis also nicht welche version des MSSQL benutzt wird. Ich habe versucht mit diesem skript die verfügbaren server zu ermitteln: ![]() Dies gibt mir z.B "LAPTOP" zurück, um mit der ADOConnection eine verbindung per ConnectionString aufzubauen brauche ich aber "LAPTOP\MSSMLBIZ" oder "PC\SQLEXPRESS" (computername\servername)oder wie auch immer die verschiedenen MSSQL server benannt sind. Da es sich nur um lokale SQL Server handelt funktioniert auch "localhost\MSSMLBIZ" Auch wenn ich über das "Datenverknüpfungseigenschaften" fenster den server auswähle (dropdown) und danach die verbindung teste funktioniert es erst wenn ich "\MSSMLBIZ" dazufüge. Gibt es eine ander möglichkeit sowas zu automatisieren oder mache ich da etwas falsch? Ich benutze die windows-authentifizierung. Ich möchte verhindern dass die benutzer meines tools etwas am SQL server rumbasteln müssen. Vielen dank für eine antwort. Gruss Daniel |
Re: Automatische verbindung mit lokalem MSSQL Server
Herzlich willkommen in der Delphi-PRAXiS, Daniel.
Nur wenn du mehrere Instanzen von MSSQLSERVER installierst wird der InstanceName benötigt. Die erste bzw. default Installation hat keinen Instanznamen, den steuerst du erst bei einem weiteren Setup über den Parameter INSTANCENAME bei. Im Readme*.html des Original-Setup findest du Erläuterungen zu diesem Thema. Hast du schon versucht dich einfach ohne InstanceName mit der Maschine zu verbinden? Freundliche Grüße vom marabu |
Re: Automatische verbindung mit lokalem MSSQL Server
Hallo
Erstmal vielen Dank für die schnelle Antwort. Ich habe noch nicht versucht ohne instancenam zu verbinden, werde ich heute abend gleich mal versuchen. Jedenfals wenn ich einen verbindungstest über das "Datenverknüpfungseigenschaften" fenster mache funktioniert der erst wenn ich die instanz auch angebe. Das readme werde ich natürlich auch noch durchlesen Da ich aber nicht weiss ob die user meines tools mehrer instanzen haben, muss ich diesen irgendwie ermitteln. Gibt es da eine möglichkeit? Gruss Daniel |
Re: Automatische verbindung mit lokalem MSSQL Server
Laut ReadMe musst du die
![]() |
Re: Automatische verbindung mit lokalem MSSQL Server
Hallo marabu
Klapt auch ohne die Istanz des SQL Servers anzugeben. Nochmals vielen Dank für deine Hilfe Gruss Daniel |
Re: Automatische verbindung mit lokalem MSSQL Server
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz