2017-02-02 12 views
-2

複数のSQLクエリを持つ.sqlファイルがあります。常にエラーにコマンドは次のように処理された複数のDB2クエリを実行する.sqlファイル

DB21034Eを取得somefile.sql

を\する\パス\:コマンド

のDB2 -vtfのCを使用してCLPでこのファイルを実行するときSQLステートメントは、有効なコマンドライン・プロセッサーのコマンドではないため、 です。 SQL処理中に返された: SQL0007N SQLステートメントで がサポートされていない文字がSQLステートメントに含まれていたため、ステートメントが処理されませんでした。無効な 文字: "\"無効な文字の前のテキスト: "f D:" SQLSTATE = 42601 db2 => -tvf D:¥testquery.sql

.sqlファイルにはこれらのエクスポート・クエリがあります。

export to ACTIONTAKENMASTER.rar of del select * from SERVEIT.ACTIONTAKENMASTER 
export to ACTIVITYACTION.rar of del select * from SERVEIT.ACTIVITYACTION 
export to ADDRESSMASTER.rar of del select * from SERVEIT.ADDRESSMASTER 
export to ADVISE_INDEX.rar of del select * from SERVEIT.ADVISE_INDEX 

誰でも助けてください!

+1

エラーはあなたのコードに適合しません –

+0

しかし、私は与えられたシナリオで全く同じエラーが発生しています。 –

+0

ファイルのどこに "D:\ testquery.sql"がありますか? –

答えて

1

-tオプションを使用すると、文がセミコロン(;)で終了することをDB2 CLPに伝えます。これは、ステートメントが1行のみであるCLPのデフォルトをオーバーライドしています。

  1. は、それぞれの文
  2. ドロップ-tオプションの終わりにセミコロンを追加します:

    あなたは2つのオプション持って実行をdb2 -vf C:\path\to\somefile.sql

オプション2は、各ステートメントの場合は動作しますあなたのファイルの中には1行しかありません。

+0

私は両方のオプションに従っていますが、それでも同じエラーが発生しています。 –

+1

DB2コマンド・ライン・プロセッサー(これは 'db2 =>'プロンプトがあります)ではなく、DB2コマンド・ウィンドウ(DOSプロンプトのように見えます)からコマンドを実行する必要があります。 –

関連する問題