• ベストアンサー

BCPコマンドについて

SQLServer2000上でテーブルを作成して、csvファイルをbcpコマンドを使用してインポートしようとしているのですがうまく実行出来ません。 エラーは 「'-'(ハイフン)の近くに無効な構文があります」 と表示されます。 おそらくデータベース名に-(ハイフン)が入っているため なにか工夫が必要だと思うのですがそれが分かりません。 ちなみに、 データベース名 : aaa-01 テーブル名 : bbb_table CSVファイル : c:\ccc.csv ユーザ : sa パスワード : dddd とすると、 「bcp aaa-01..bbb_table in c:\ccc.csv -E -c -t, -U sa -P dddd」 という感じです。 どこかまずいところがあるのでしょうか? どうかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

手順1  ハイフンを含まないDBを作成(仮にaaaとする) 手順2  ビューを作成する CREATE VIEW dbo.VIEW1 AS SELECT * FROM [aaa-01].dbo.bbb_table 手順3  ビューにBCPINを行う >bcp aaa-01..bbb_table in c:\ccc.csv -E -c -t, -U sa -P dddd bcp aaa..VIEW1 in c:\ccc.csv -E -c -t, -U sa -P dddd この方法は、カラムにスペースが存在した場合などにもビューを利用することで、BCPINを行うことができます。 っていうか、ハイフンやスペースを含むのってあまりよくないですね^^;; アンダースコアへの変更が可能であれば、DB構成の変更をお勧めいたします。

teru_bozu_bozu
質問者

お礼

なるほど、よく分かりました。 まだ開発に入ったばかりなのでご指摘の通り、 ハイフンを辞めようと思います^^; ありがとうございました。

その他の回答 (1)

  • 7marine
  • ベストアンサー率36% (59/160)
回答No.1

bcp [aaa-01]..bbb_table in c:\ccc.csv -E -c -t, -U sa -P dddd カッコで括ってもだめでしょうか? 未検証なので全く自信なしです

teru_bozu_bozu
質問者

お礼

早速のご回答ありがとうございます。 []でくくれば良いのですね。 ありがとうございます。勉強になりました<(_ _)>

関連するQ&A