0

Sql Server 2008 r2を使用すると、プロセスを自分で実行しながら完全に機能させることができます。ジョブとして実行するように設定すると、バイナリフィールドは毎回2kb(2048文字)に切り捨てられます。以下は、正確に何が起こっているかの詳細です。

これが私のストアドプロシージャの基本的なプロセスです。

  • リンクサーバーからユーザー定義のテーブル変数にデータセット(通常は10〜15行)を挿入するSQLステートメントを動的に構築します。(データセットには、基本的に写真に関する情報が含まれています。mime/タイプ、順序、説明、および特定の写真のバイナリ(またはブロブ)。)
  • 次に、そのテーブル変数は、データセットを保存する別のストアドプロシージャに渡されます。

前に述べたように、ストアドプロシージャを実行すると、プロセスは完全に機能します。ブロブは完全で、見栄えの良い写真を生成します。ただし、ストアドプロシージャがスケジュールされたジョブを介して実行される場合、バイナリ文字列は2048文字の後で切り捨てられます。そして、これは必ず毎回起こります。

リンクサーバーからデータをプルするために使用しているOPENQUERYステートメントから切り捨てが発生していることを確認できましたが、実行したときではなく、スケジュールされたジョブ中に発生している理由がわかりません。それは許可の問題だと思います。何も引き戻せないだけです。

よろしくお願いします、ウィル

4

1 に答える 1

1

TEXTSIZE の BOL のドキュメントを見て、ストアド プロシージャでより大きな値に設定してみてください。

于 2011-05-17T11:19:59.387 に答える