2

ストアド プロシージャの呼び出しを介して一度に 4000 バイトを超えるデータを受信できるようにする方法がわかりません。それぞれ約15〜20キロバイトの画像をテーブルに保存していますが、それらを取得してページに表示すると、サイズは常に正確に3.91 KB(または4000バイト)になります。

ストアド プロシージャには、一度に送信できるデータ量に制限がありますか? データを再確認しましたが、実際にはvarbinary(MAX)フィールドから最初の 4000 文字しか受け取っていません。

一度に 4k バイトを超える許可設定はありますか?

4

3 に答える 3

1

大きな値のデータ型の使用を読む必要があります

max指定子は、varchar、nvarchar、およびvarbinaryデータ型のストレージ機能を拡張します。varchar(max)、nvarchar(max)、およびvarbinary(max)は、まとめて大きな値のデータ型と呼ばれます。大きな値のデータ型を使用して、最大2^31-1バイトのデータを格納できます。

大きな値のデータ型は、対応する小さなデータ型であるvarchar、nvarchar、およびvarbinaryと動作が似ています。

4000バイトを超えて渡すことができない場合は、クライアントアプリケーションをチェックインして、データが制限されているか切り捨てられているかを確認します。SQL Serverは、一度に4000バイトを超える可能性があります。

編集はちょうどこれを見つけました:

EXECUTE(Transact-SQL)

文字列でのEXECUTEの使用

以前のバージョンのSQLServerでは、文字列は8,000バイトに制限されていました。これには、動的に実行するために大きな文字列を連結する必要があります。SQL Serverでは、varchar(max)およびnvarchar(max)データ型を指定して、文字列を最大2ギガバイトのデータにすることができます。

于 2010-04-19T17:39:19.743 に答える
0

SQL Server 2005には「画像」と呼ばれるデータ型があります。大きなバイナリオブジェクト、特に画像を格納するには、そのデータ型を使用する必要があります。

于 2010-04-19T17:15:39.170 に答える
0

SQL ServerのBLOBにアクセスするには、別のコードを使用する必要があります。ここの例。

于 2010-04-19T17:08:01.840 に答える