1

列の1つを「グループ」にしたいフォーマットファイルがあります。フォーマットファイルを自動生成していますが、クライアントが列の1つとして「グループ」を含むファイルをアップロードしたいと考えています。SQLキーワードを使用できないように制限することもできますが、列名がSQLキーワードかどうかを判断する関数が必要なので、ユーザーがクライアントに好きな名前を付けられるようにサポートしたいと思います。これが可能かどうか疑問に思います。角かっこを使ってみましたが、うまくいかなかったようです。私のファイルは次のようになります:

8.0
1
1 SQLCHAR 0 0 "\ r \ n"1[グループ]SQL_Latin1_General_CP1_CI_AS
4

2 に答える 2

1

これを SQL 2005 SP2 (互換モード 80 と 90 の両方のターゲット データベース) でいくつかの異なる方法でテストしましたが、SQL 2005 バージョンの bcp を使用しても問題なく動作します。

ただし、SQL 2000 バージョンの bcp でもテストしましたが、失敗しました。

Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'group'.

私はあなたが得ているものだと思います。

SQL 2005 クライアント ツールを使用するために、bcp を実行しているシステムをアップグレードできますか?

すでにアップグレードしたと思われる場合は、PATH 環境変数を調べて、それを確認してください。

C:\Program Files\Microsoft SQL Server\90\Tools\binn\

(インストールに合わせて調整)が前に表示されます

C:\Program Files\Microsoft SQL Server\80\Tools\BINN

それ以外の場合は、SQL 2005 コマンド ライン ツールよりも SQL 2000 コマンド ライン ツールが優先して使用されます。

于 2008-10-15T07:15:48.493 に答える
0

MS SQL では、引用符で囲むと、SQL Keywork を列名として使用できます。

例:SELECT id, "group" FROM myTable

于 2008-10-17T00:12:40.297 に答える