16

私はインターネットでSQLServerのデータ型に関する次のステートメントを読んでいました。

  1. VARBINARY(MAX)-可変長のバイナリ文字列は、最大2^31-1バイトを格納できます。

  2. IMAGE-最大2^31-1(2,147,483,647)バイトの可変長のバイナリ文字列。

VARBINARY(MAX)IMAGEデータ型の間に本当に大きな技術的な違いはありますか?

違いがある場合:ADO.NETがSQL Serverの画像データフィールドを挿入および更新する方法をカスタマイズする必要がありますか?

4

4 に答える 4

20

それらは同じデータを保存します:これはそれが行く限りです。

" image"は非推奨であり、動作する機能と操作のセットが制限されています。varbinary(max)より短いように操作することができます(とvarbinaryの同上)。textvarchar(max)

新しいプロジェクトには使用しないでください。機能が制限されimageているため、ここで人々が抱えている問題imageとデータ型を検索してください。text

SOの例: 1、2

于 2010-11-06T14:08:33.000 に答える
7

技術的には似ていると思いますが、ドキュメントから次のことに注意することが重要です。

ntext、text、およびimageデータ型は、MicrosoftSQLServerの将来のバージョンで削除される予定です。これらのデータ型を新しい開発作業で使用することは避け、現在それらを使用しているアプリケーションを変更することを計画してください。代わりに、nvarchar(max)、varchar(max)、およびvarbinary(max)を使用してください。

大きな非UnicodeおよびUnicode文字と>バイナリデータを格納するための固定長および可変長のデータ型。Unicodeデータは、UNICODEUCS-2文字セットを使用します。

于 2010-11-06T13:39:21.353 に答える
4

それらは同じデータを保存します:これはそれが行く限りです。

「画像」は廃止され、使用できる機能と操作のセットが制限されています。varbinary(max)は、短いvarbinary(テキストとvarchar(max)の場合も同様)のように操作できます。

新しいプロジェクトに画像を使用しないでください。機能が制限されているため、画像とテキストのデータ型に関して人々が抱えている問題をここで検索してください。

実際、VARBINARYファイルなど、バイト配列に変換できる任意のデータを格納できます。これは、IMAGEデータ型が使用するプロセスと同じであるため、この観点から、両方のデータ型が同じデータを格納できます。ただしVARBINARY、サイズプロパティがありIMAGE、データ型の制限までの任意のサイズを受け入れるため、データ型を使用IMAGEする場合は、同じデータを格納するためにより多くのリソースを消費します。Microsoft®SQLServer®では、データ型は実際には非推奨であるため、IMAGEデータ型に賭ける必要がありますVARBINARY

ただし、注意してください。Microsoft®SQLServer®CE®(最新の4.0バージョンを含む)は引き続きIMAGEデータ型を使用しており、Compact Editionバージョンでは、このデータ型が他のどのデータ型よりも優れているため、このデータ型がすぐに「消える」ことはないでしょう。高速ファイルストレージに。

于 2012-02-27T21:08:52.840 に答える
0

私はうっかりしてそれらの間に1つの違いを見つけました。文字列を画像タイプに挿入することはできますが、変数に挿入することはできません。文字列を使用して画像を設定することは実際には意味がないため、MSが画像タイプを廃止しているのはそのためかもしれません。

于 2013-04-11T13:30:32.050 に答える