• 締切済み

VBスクリプトでコマンドの実行とログを作成するには

VBスクリプトでBCPコマンドを用いてSQLServer2000のテーブルへ データをインポートしたいと考えております。 この時、同時に実行結果をログに出力したいのですが うまく実行できずに困っています。 データベース名 : ws011 テーブル名 : AAATABLE ファイル : BBBBFILE ユーザ : sa パスワード : sa とした時、次のように書いてます。 色々変数で持たせているのは、後続で使いまわすためです。 Dim baseDir,log_Dir,log_name,log Dim objRet,bcpcmd,dataDir baseDir="C:\Documents and Settings\デスクトップ\VBS\" log_Dir="log\" data_dir = "data\" log_name="result.log" log=baseDir & log_Dir & log_name dataDir = baseDir & data_dir Set objShe = CreateObject("WScript.Shell") bcpcmd = "bcp AAATABLE in " & dataDir & "BBBBFILE -S ws011 -U sa P sa -t, -k -c >> " & log Set objRet = objShe.Exec(bcpcmd) どのようにしたらコマンドも実行でき、ログも出力できるのか ご教授願います。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

>うまく実行できずに困っています。 どのようにでしょう? (1)全く動作しない Execメソッドに渡すパラメータが間違っていることがあります。 コマンドプロンプトで成功してもExecで失敗する場合は、コマンドの パスが不明の場合があります。バルクコマンドをフルパス名にし、 拡張子も省略せずに記述してみてください。 (2)バルクインは成功するが、ログが出ない objSheのStdOutプロパティを使って、自力でリダイレクトしてみて下さい。

makitty
質問者

お礼

大変 返信が遅くなってしまい、すみません。回答ありがとうございました。 コマンドプロントでbcpコマンドを打つとXX件入力されたかログが出力されたので、VBスクリプトでも同様なログが出ないかと思ったのです。 全く同じログは出せませんでしたが、何件入力されたのかは出力することができましたので、この質問は閉じさせていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A