1

SOAP Web サービスを介して別の 4D サーバー (4D サーバー 2) に BLOB を送信する 4D サーバー (4D サーバー 1 と呼びます) があります。BLOB は配列で構成され、解析時に対応するテーブルに保存されます。

BLOB の解析に失敗する場合が (ほとんどありません) ありますが、その場合はテーブルにログを記録します。示されているエラーは次のとおりです。

エラー 61: コンパイル済みデータベースでは配列の型を変更できません。

エラーの原因となっている BLOB の配列を特定するにはどうすればよいですか?
問題を解決するためにどのような手順を実行しますか?

4

2 に答える 2

0

ObjectTools で作成された BLOB として配列と変数を送信します。より優れた (エラー) ロギングおよび処理ルーチンがあります。配列が破損したことはありません。

http://www.aparajitaworld.com/objecttools/ ObjectTools は、オブジェクトの作成を可能にする一連のルーチンを提供する 4th Dimension プラグインです。異なるタイプのデータをいくらでも保存および取得できる単一のエンティティです。 .

于 2015-09-04T23:13:39.430 に答える
0

配列を抽出するには、次のようにいくつかの BLOB TO VARIABLE コマンドを使用しています。

$vlOffset:=0
BLOB TO VARIABLE($blob;$array1;$vlOffset)
BLOB TO VARIABLE($blob;$array2;$vlOffset)
BLOB TO VARIABLE($blob;$array3;$vlOffset)

$vlOffset には、ブロブ内の変数の開始位置が含まれます。ブロブの内部構造は次のとおりです: RVLB + タイプ + Var + タイプ + Var ..

したがって、 Type を確認する必要があります。最初は 4 番目の位置、その他は $vlOffset の位置にあります。

  • 14 実数配列
  • 15 整数配列
  • 16 倍長整数配列
  • 17 日付配列
  • 18 テキスト配列
  • 19 画像配列
  • 21 文字列配列
  • 22 ブール配列
  • 39 オブジェクト配列

cfr http://doc.4d.com/4Dv14/4D/14.4/Type.301-2512277.en.html

于 2016-01-07T08:34:17.180 に答える