![]() |
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADOConnection
Kann nicht auf unmittelbar vorher erzeugte DB connecten
Hallo
Im FormShow Ereigniss meines Programms prüfe ich zuerst ob es die DB "AM7_6" existiert, wenn nicht erzeuge ich sie mit hilfe von ADOCnnection1 (ADOQuery1). Dannach verbinde ich mich mit ADOConnection2 auf die eben erzeugte DB.
Delphi-Quellcode:
Die DB "AM7_6" wird auch auf dem Server erzeugt, ADOConnection2 fällt aber immer ins Exception. Wenn ich es ohne try/except mache mit folgender Fehlermeldung: cannot open database "AM7_6" requested by the login. The login failed.
ADOConnection2.ConnectionString:= 'Provider=SQLOLEDB.1;Integrated Security=SSPI;' +
'Persist Security Info=False;Initial Catalog=' + DBAM + ';Data Source=' + ServerNameIni + ';'; try ADOConnection2.Connected:= True; except on E:Exception do begin with ADOQuery1 do Begin // DB AM erstellen close; SQL.Text:= 'CREATE DATABASE AM7_6'; ExecSQL; end; newAMDB:= true; end; end; if newAMDB = true then begin try ADOConnection2.Connected:= True; except on E:Exception do begin E.Message:= 'Fehler beim Verbinden mit der Datenbank'; raise; end; end; ... Jetzt kommt das, was ich überhaupt nicht begreife: Wenn ich zwischen dem Erzeugen von "AM7_6" und "ADOConnection2.Connected:= True;" einen Haltepunkt setze und danach das Programm sofort wieder mit "F9" vortsetzte, funktioniert es. :gruebel: Kann mir da jemand weiterhelfen? Daniel |
Re: Kann nicht auf unmittelbar vorher erzeugte DB connecten
1.) versuchen mit deiner DB zu verbinden
2.) bei Fehler die Connection ändern mit Initial Catalog=master und erneut verbinden Die Datenbank "master" ist immer vohanden 2b) jetzt deinen CREATE Database ... absetzen und zwar direct über ADOConnection.Execute() 2c) SQL Befehl 'USE '+DBAM absetzen -> jetzt hast du von "master" in deine DB gewechselt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 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 by Thomas Breitkreuz