2017-12-10 78 views
-1

WindowsバッチスクリプトからDB2コマンド(インポート)を実行しようとしています。WindowsバッチスクリプトからDB2コマンドを実行

私のアプローチは

  1. 呼び出しDB2コマンド・プロンプト..です:DB2CMD.exe DB2SETCP.BAT DB2.EXE
  2. は、データベースへの接続:DB2コマンドを実行PWD
  3. を使用したDBNAMEのユーザーusernameに接続します:
  4. ...からの輸入は、バッチスクリプトは次のようになります

を終了..

DB2CMD.exe DB2.EXE "connect to dbname USER username USING pwd" "IMPORT FROM D:\File.txt .... INSERT_UPDATE INTO tablename" 
quit 

第2ステップまでは動作しており、第3ステップを実行せずにバットスクリプトが終了しています。

誰も私にこのガイドをすることはできません..ありがとう!

+1

'CALL DB2SETCP.BAT' – Squashman

答えて

0

Microsoft WindowsのCMD/BATファイルでDb2コマンドを実行するには、Db2クライアントがインストールされている必要があります。 以下のパターンでBATまたはCMDファイルをすべて開始できます。これにより、DB2CMD.EXEがまだ開かれていない場合はスクリプトがオープンされます(手動で行う必要はありません)。また、Windows CMD.EXEまたはDB2CMD.EXEコマンド行からデータベースにアクセスできるように、データベースをカタログ化する必要があります。スクリプトに入れる前にコマンドラインでコマンドを確認してください。

エラーが発生した場合は、と指定すると、db2cmdウィンドウのコピー/ペーストを使用するか、スクリーンショットを添付してヘルプを要求するときに正確なエラーを指定する必要があります。

2番目の手順では、最初にエラーメッセージを表示せずに終了することはできませんが、メッセージが表示される前にウィンドウが閉じないようにする必要があります。 IMPORTが失敗する理由はたくさんありますが、については、Db2の理由が記載されていません。質問を編集して欠落しているエラーの詳細を指定すると、ここでさらに詳しいヘルプが表示されます。

データベースが実行されているのと同じホスト名でスクリプトを実行する場合は、ユーザーID /パスワードを指定する必要はなく、現在ログオンしているユーザーとして接続します。

特定のユーザーID(Windowsにログインしているユーザーとは異なる)でデータベースに接続する必要がある場合、またはリモートデータベースに接続する必要がある場合は、connectコマンドのパスワードを指定する必要があります。ユーザーに対話型スクリプトのパスワードを入力するように要求することができます。無人のスクリプトが必要な場合は、スクリプト内のプレーンテキストでパスワードをハードコーディングしたり、runasを使用しないようにしてください。

以下の例は、ローカルデータベースへの接続とリモートデータベース(いずれかの方法のみを選択)の両方を示しています。

@if ""%DB2CLP%""=="""" db2cmd /c /i /w ""%0"" %* && goto :EOF 

@rem for connecting to a local database as current logged-in Windows account (no password required) 
db2 -v connect to dbname 
@if errorlevel 1 (@echo ""FAILED to connect"" && @goto :EOF) 


@rem for connecting to a remote database, or connecting with a different account 
db2 -v connect to dbname user YOURUSER using THEPASSWORD 
@if errorlevel 1 (@echo ""FAILED to connect"" && @pause ... && @goto :EOF) 


db2 -v "IMPORT FROM TO ... " 
@if errorlevel 2 (@echo "FAILED to export..." && @pause ... && @goto :EOF) 
db2 -v connect reset 
関連する問題