1

Visual Foxpro(DBF)からSQL Serverへの変換を行っていますが、SQLServerデータベースを使用するためにVFPGUIを保持します。

VFPのいくつかのメモフィールドには、ASCII文字とテキストの組み合わせを格納します。

できればキャストせずにこれらの値を格納するのに最適な列データ型は何でしょうか。

これらの同じ方針に沿って、Word文書をメモファイルに変換することもあります。これらの場合、SQLServerのどのフィールドタイプが最適ですか。

ご協力いただきありがとうございます。

4

1 に答える 1

3

使用している SQL Server のバージョンによって異なります。2005 以降では、最大 2GB の文字列を格納できる VARCHAR(MAX) がサポートされています。短い文字列は効率的に (行に) 格納されますが、大きな文字列は BLOB データベース領域に自動的に格納され、BLOB へのポインターのみが行に格納されます。開発者の観点からは、この複雑さについて心配する必要はなく、データが 8000 文字を超える可能性がある場合は VARCHAR(MAX) を使用する必要はありません。

Word ファイルに関しては、実際のファイル (バイナリ形式) をデータベースに保存するか、コンテンツのみを保存するかによって異なります。最初のケースでは、VARBINARY(MAX) を使用できます (または、ファイルをディスクに格納し、パスとその他のファイル メタ データのみを SQL Server に格納します)。実際のコンテンツを保存する場合は、まず適切な形式 (リッチ テキスト、XML など) に変換してから、それを VARCHAR(MAX) に保存する必要があります。

注: データに (単なる ASCII ではなく) Unicode 文字が含まれている場合は、VARCHAR の代わりに NVARCHAR を使用してください。

于 2011-12-07T15:29:16.127 に答える