Date: Fri, 02 Aug 2002 14:26:04 +0900
From: Yoshikazu Ueshima <who@example.co.jp>
いきなり質問でごめんなさい m(__)m ueshimaと申します。
CSVファイルをMSDEへインポートするときにエラーに見舞われ
まして試行錯誤を重ねましたが手詰まり状態です。
環境は Windwos2000 Pro MSDE 7.00.623
目的としましては コマンドプロンプト上で動作検証し、最終的
にはバッチファイルにしてCSVファイル名を引数にして別のプロ
グラムからたたくようなイメージです。
MSDEに関してはど素人で今回 osql コマンドや BCP について
Books online やインターネットの情報を利用させていただき
やっとここまで来たような状態です。
よろしくおねがいいたします。
-------------------------------------
コマンドライン
-------------------------------------
bcp utilityDB..t_utydata in Csv.txt -P -Usa -f db.frm
-------------------------------------
テーブル構造
-------------------------------------
テーブル t_utydata の構造は日付(DATETIME型)で始まって
単精度浮動小数点(REAL型)データが128個続いているという
ものです。
-------------------------------------
db.frm フォーマットファイルの先頭部分
-------------------------------------
7.0
129
1 SQLCHAR 0 8 "," 1 date
2 SQLCHAR 0 4 "," 2 val001
3 SQLCHAR 0 4 "," 3 val002
以下省略
-------------------------------------
Csv.txt の先頭部分
-------------------------------------
"2001/11/30 10:35:00",100.10,1.20,1.30,1.40,1.50,1.60,1.70,
以下省略
-------------------------------------
結果
-------------------------------------
コピーを開始中です...
SQLState = 22008, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]日付の形式が正しくありません。
-------------------------------------
対策
-------------------------------------
日付フォーマット問題のようなので、Csv.txt の先頭部分をいろいろ変えると
コピーを開始中です...
SQLState = 22005, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]キャストした文字コードが正し
くありま
せん。
のように表示されることもあります。
-------------------------------------
別アプローチ
-------------------------------------
osql でデータベースにログインして
insert into t_utydata values(
"2002/07/31 12:00:00",
0.10,
1.20,
1.30,
1.40,
以下省略
go
なら正常にテーブルに書き込めます。
SQLは超初心者で基本的なことが欠落しているように思えます
何か情報をいただけましたらありがたいです。
よろしくおねがいします。 長文 すみません m(__)m
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|