- ベストアンサー
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」 という感じです。 どこかまずいところがあるのでしょうか? どうかご教授お願いします。
- みんなの回答 (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構成の変更をお勧めいたします。
その他の回答 (1)
- 7marine
- ベストアンサー率36% (59/160)
bcp [aaa-01]..bbb_table in c:\ccc.csv -E -c -t, -U sa -P dddd カッコで括ってもだめでしょうか? 未検証なので全く自信なしです
お礼
早速のご回答ありがとうございます。 []でくくれば良いのですね。 ありがとうございます。勉強になりました<(_ _)>
お礼
なるほど、よく分かりました。 まだ開発に入ったばかりなのでご指摘の通り、 ハイフンを辞めようと思います^^; ありがとうございました。