bcpコマンドを用いたSQLServer2012へのデータ投入について、皆様のお力を貸していただけないでしょうか。
bcpコマンドを用いて、WindowsServer2012R2からAWS上のRDS(SQLServer)にデータを投入しようとしています。
投入したいデータは下記の通り、ダブルクオテーションでくくられたCSVデータとなっています。
"000010","01","2301596","0","13-07-09" "000010","02","2303070","0","04-07-12" "000010","03","6301939","0","10-10-18" "000010","04","5700814","1","12-10-29" "000010","05","5408014","0","13-05-20"
右記サイト(http://yunogotoshi.blogspot.jp/2014/12/csv-sql-server-bulk-insert.html)を参考に、以下のようなフォーマットファイルを作成しました。
12.0 6 1 SQLCHAR 2 0 "\"" 0 Dummy SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 2 100 "\",\"" 1 ID SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 2 100 "\",\"" 2 No SQL_Latin1_General_CP1_CI_AS 4 SQLCHAR 2 100 "\",\"" 3 RD SQL_Latin1_General_CP1_CI_AS 5 SQLCHAR 2 100 "\",\"" 4 num SQL_Latin1_General_CP1_CI_AS 6 SQLCHAR 2 100 "\"\r\n" 5 date SQL_Latin1_General_CP1_CI_AS
以上のファイルを指定して次の通り、bcpコマンドを実行したところ、エラーは特に表示されないのですが、「0行コピーされました」となり、実際DBには何も登録されていませんでした。
bcp [テーブル名] in C:\[CSVファイル名] -E -k -b 10000 -t, -S [DBエンドポイント名] -U [ユーザ名] -P [パスワード] -f C:\[フォーマットファイル名]
上記現象について、解決策をご存知であれば、ご教授いただければと思います。
また、複数行にわたるCSVデータを効率よくAWS上のSQLServerへ投入する他の手段をご存知であればご教授いただけないでしょうか。
なお、SQLServerのカラムの型は全てvarchar(50)型であり、
bcpコマンド実行時にformatを指定せずに、-cとした場合は正しくデータ投入されました(この場合は、ダブルクオテーションもそのまま投入されるため、format指定での実現方法を探しております)
以上、どうぞよろしくお願いいたします。
あなたの回答
tips
プレビュー