FireDAC.Comp.Client.TFDCustomConnection.Messages

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property Messages: EFDDBEngineException read GetMessages;

C++

__property Firedac::Stan::Error::EFDDBEngineException* Messages = {read=GetMessages};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomConnection


Beschreibung

Gibt nach einer aktuellen Datenbankoperation eine Liste mit vom DBMS zurückgegebenen Meldungen zurück.

Mit der Eigenschaft Messages rufen Sie eine Liste mit Meldungen, Hinweisen oder Warnungen ab, die von einem DBMS nach einem aktuellen DBMS-Aufruf zurückgegeben werden. Die Eigenschaft hat den Typ EFDDBEngineException. Die Inhaltsdefinition ist von der Art des DBMS abhängig.

DBMS 

Beschreibung 

Advantage Database Server 

Keine

Microsoft Access Database 

Keine 

DataSnap server 

Keine 

IBM DB2 

Keine

InterBase 

Keine 

Firebird 3.0

Vom FB$OUT-Package erstellte Ausgabe

MySQL Server 

Vom Befehl SHOW WARNINGS erstellte Ausgabe

Oracle Server 

Vom DBMS_OUTPUT-Package erstellte Ausgabe

PostgreSQL 

Hinweise und Warnungen 

SQLite 

Keine 

Sybase SQL Anywhere 

  • ODBC-Warnungen
  • Ausgabe eines MESSAGE-Befehls

Microsoft SQL Server 

  • ODBC-Warnungen
  • Meldungen von RAISERROR mit dem Schweregrad <= 16, beispielsweise für die Ausgabe eines Aufrufs von EXEC sp_configure

 

Nicht alle unterstützten DBMSs geben automatisch Meldungen zurück, die keine Fehlermeldungen sind. Beispielsweise muss für Oracle, MySQL und Firebird eine weitere DBMS-API aufgerufen werden, damit die Meldungen den Client erreichen. Dafür sind zusätzliche Serverzugriffe erforderlich. Bei SQL Server und Sybase SQL Anywhere werden die Meldungen jedoch immer automatisch zurückgegeben. Wenn Sie ResourceOptions.ServerOutput auf True setzen, ist sichergestellt, dass die Meldungen für jedes DBMS automatisch an den Client zurückgegeben werden.  Die Meldungen werden bis zum nächsten DBMS-Aufruf (Open, ExecSQL, StartTransaction usw.) in der "Messages"-Liste gespeichert.

Beispiel

var
  i: Integer;
begin
  FDConnection1.ResourceOptions.ServerOutput := True;
  FDQuery1.ExecSQL;
  for i := 0 to FDConnection1.ConnectionIntf.Messages.ErrorCount - 1 do
    Memo1.Lines.Add(FDConnection1.ConnectionIntf.Messages[i].Message);
end;

Siehe auch