プロが教えるわが家の防犯対策術!

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」
という感じです。
どこかまずいところがあるのでしょうか?
どうかご教授お願いします。

A 回答 (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構成の変更をお勧めいたします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/04 09:14

bcp [aaa-01]..bbb_table in c:\ccc.csv -E -c -t, -U sa -P dddd


カッコで括ってもだめでしょうか?
未検証なので全く自信なしです
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/04 09:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!