C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 7 を表示中)
■7471 / )  Re[3]: 256文字以上のCSVファイル
□投稿者/ 魔界の仮面弁士 大尉(178回)-(2006/10/12(Thu) 22:26:26)

分類:[C#] 

>>> 1フィールドに対して256文字以上の文字列を格納しようとしたところ、
>>> 255文字で切れてしまいます。
>> Textだと255文字になっちゃいますね。Memoを使うようにしましょう。

Jet 4.0 の場合、固定長/可変長テキスト型は最大255文字まで、
メモ型は、最大536,870,910 文字までという制限があります。

Text I-ISAM モードや、Text ODBC Driver 経由での操作に関しても、
これと同様の縛りが生じます。

たとえば Microsoft Access で、CSV にリンクテーブルを貼る場合で言えば、
テキストリンクウィザードの[設定]ボタンから、リンク定義として
『テキスト型』が指定された場合と、『メモ型』が指定されていた場合とで、
文字列の上限値が異なる仕様になっています。


> この「Memo」を使うというのは、
> "Extended Properties=""Memo;HDR=YES;FMT=Delimited"""
> このような使い方をするということでしょうか?

Extended Properties パラメータでは指定できません。
Text I-ISAM の場合、フィールドの型定義は、CSV ファイルと同じフォルダに対して、
schema.ini というファイルを配置することによって行われます。たとえばその内容は、

[sample.csv]
ColNameHeader=False
Format=CSVDelimited
CharacterSet=OEM
Col1=F1 Integer
Col2=F2 LongChar
Col3=F3 Char

のような内容となります。
(詳細は、Jetデータベースエンジン プログラマーズ ガイド などを参照の事)



> Accessに256文字以上格納できないのではなくて、

ちなみに、Microsoft Access のユーザーインターフェイス経由では、
65,535 文字上限となったりしますね。


> DataSetにデータを格納する際に、既に255文字で切られてしまっているのです。

DataTable 側で、そのフィールドの最大長は幾つに設定されていますか?

0
返信 編集キー/


管理者用

- Child Tree -