FireDAC.Comp.Client.TFDCustomConnection.Messages

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property Messages: EFDDBEngineException read GetMessages;

C++

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

プロパティ

種類 可視性 ソース ユニット
property public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomConnection


説明

最後のデータベース オペレーションの後に DBMS によって返されたメッセージのリストを返します。

Messages プロパティを読み込んで、最後の DBMS 呼出し後に DBMS から返された、メッセージ、ヒント、警告のリストを取得します。プロパティは、型 EFDDBEngineException です。コンテンツ定義は、DBMS の種類によって変わります。

DBMS 

説明 

Advantage Database Server 

なし

Microsoft Access データベース 

なし 

DataSnap サーバー 

なし 

IBM DB2 

なし

InterBase 

なし 

Firebird 3.0

FB$OUT パッケージによって生成される出力

MySQL Server 

SHOW WARNINGS コマンドによって生成される出力

Oracle Server 

DBMS_OUTPUT パッケージによって生成される出力

POSTGRESQL 

注意および警告のメッセージ 

SQLite 

なし 

Sybase SQL Anywhere 

  • ODBC の警告
  • MESSAGE コマンドの出力

Microsoft SQL Server 

  • ODBC の警告
  • 深刻度 16 以上の RAISERROR からのメッセージ。たとえば、EXEC sp_configure 呼び出しの出力。

 

サポートされている DBMS のすべてが、自動的にエラー以外のメッセージを返すわけではありません。たとえば、Oracle、MySQL、FireBird の場合、メッセージをクライアントに届けるには、追加の DBMS API を呼び出す必要があります。これは、追加のサーバー ラウンド トリップを必要とします。しかし、SQL Server や Sybase SQL Anywhere の場合、メッセージは常に自動的に返されます。ResourceOptions.ServerOutputTrue に設定するとどんな DBMS に対してもこれが保証され、メッセージは、自動的にクライアントに返されるようになります。 メッセージは、次の DBMS 呼び出し(Open、ExecSQL、StartTransaction など)まで Messages リストに格納されます。

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;

関連項目