人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASP+SQLserver2000にて、構築しております。

CSVデータをMicrosoft Text Driver (*.txt; *.csv)で接続し、SQLserverにインポートさせたいのですが、CSVデータ内の127文字以上のデータを読み取ってくれません。

Schema.iniを設置して
Col1=data1 Char Width 1024
といように、記載してみたのですがダメでした。
よろしく、お願いします。

●質問者: ebagos
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ASP Char CSV Microsoft Schema
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ●
●35ポイント

SQL Serverに関しては素人なのですが、127という数字が引っかかって少し調べてみました。

データ型の問題ではないでしょうか。

http://msdn.microsoft.com/library/default.asp?url=/library/e...

CHAR型の場合、0-255バイトのデータしか格納できないようです。

CSVデータがマルチバイトの場合、127バイトが限界になりそうです。

LONGCHARなど、より大きなデータを格納できるようにDB側の設定を変更してみてはいかがでしょうか。

参考になると幸いです。

◎質問者からの返答

ありがとうございます。

>LONGCHARなど、より大きなデータを格納できるようにDB側の設定を変更してみてはいかがでしょうか。

その方法を、是非とも教えてください!


2 ●
●35ポイント ベストアンサー

SQL Serverは使ったことがないので、的外れでしたら申し訳ありません。

(会社ではOracle、趣味ではMySQLを使っています。)

こちらのMLに入って質問してみるなど、より詳しい人に確認した方が確実だと思います。

取り急ぎ、気になるところをフォローしておきます。

まず、前回の回答では、SQL Serverのデータ型とODBC Text driverのデータ型を混同しておりました。

最初の回答で挙げたURLはODBC Text driverのデータ型の説明です。

申し訳ありません。

確認すべきポイントは2点あると思います。

  1. DBのデータ型
  2. schema.iniの設定

まず、DBのデータ型ですが、sp_helpというコマンドで確認してみてください。

(GUIで確認できるツールがあれば、それでも構わないです。)

それぞれのフィールドのデータ型が分かると思います。

データ型は上記のページで説明されています。

文字列であれば、char、varchar、あるいはtextだと思います。

ここでフィールドの最大長が1024バイトより小さく設定されている場合、テーブルを変更して、1024バイト以上のデータを格納できるようにしてください。

テーブルの変更はALTER TABLEなどで行ってください。

DB側の設定が整いましたら、schema.iniの設定も変更します。

Col1=data1 Char Width 1024

ですと、Charとして扱うため、255バイトまでのデータしか正しく伝送されないと想像されます。

このCharの部分をLONGCHARに変更すれば、より大きいデータも扱えるようになると思います。

Col1=data1 LONGCHAR Width 1024

乗りかかった船、ということで追加回答いたしましたが、SQL Serverの有識者に確認することをお勧めいたします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ