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:
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;
...
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.
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.
Kann mir da jemand weiterhelfen?
Daniel