FireDACを使用したDatasnapでTDataSetを返すメソッドでエラー?


U2  2014-02-21 20:47:22  No: 46076

こんにちは。
開発環境は、XE5(update2), Win8.1, SQLServer2008です。

FireDACを使用したDatasnapで下記の処理をしています。
 1.テーブル名を引数で渡すと全データをTDataSetで返すServerメソッド:GetTableDataSetを作成
 2.クライアントアプリで、TFDConnection, TFDStoredProcを使用して全データをサーバーアプリから受け取る
 
テーブル名の引数に、Blobフィールドがないテーブルを指定すると問題ないのですが
BlobフィールドがあるテーブルだとFDStoredProc1.Openで「範囲チェックエラー.」が表示されます。

BlobフィールドがあるTDataSetを、TFDStoredProcで受け取る方法を教えてください。

CREATE TABLE [dbo].[CFG](
  [INIKEY] [varchar](60) NOT NULL,
  [PRM] [text] NULL,
); 
 
[サーバーアプリ]
function TServerMethods1.GetTableDataSet(ATableName: string): TDataSet;
var
  mDS: TFDQuery;
begin
  mDS := TFDQuery.Create(nil, FDConnection1);
  mDS.Open('SELECT * FROM ' + ATableName);
  mDS.FetchAll;
  Result := mDS;
end;

[クライアントアプリ]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if FDStoredProc1.Active then
    FDStoredProc1.Close;

  FDStoredProc1.Unprepare;
  FDStoredProc1.StoredProcName := 'TServerMethods1.GetTableDataSet';
  FDStoredProc1.ParamByName('ATableName').Size := 0;
  FDStoredProc1.ParamByName('ATableName').Value := Edit1.Text;
  FDStoredProc1.Open;
end;

よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加