トップ回答者
BCPコマンドをSCRIPT作成しましたが、queryoutのファイルの出力されません

質問
-
下記のようなSHELLを作成してSCRIPT実行しましたが、queryoutの出力結果がなにも表示されません。
bcpコマンドを編集して実行すれば 出力結果は得られます。実行されているか、
エラーになっているのかが不明です 波線のし下はBCPコマンドのバッチファイルの内容です
このバッチファイルを実行すると、queryoutのファイルに出力されます
aDim Shell
Dim bcpcmdDim rtnDim COUNTSet Shell = CreateObject("WScript.Shell")bcpcmd = "select count(*) from sys.fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\ MSSQL\Log\am\log_6.trc', default) where LoginName = 'sa' and (StartTime >= '2019-01-01 00:00:00' or EndTime <= '2019-07-13 23:59:59')" & " queryout " & "C:\odbc\countfile.csv" & " -c -S" & " *********" & "-T" 'コマンドを発行Shell.run "cmd /C ""bcp " & bcpcmd & """", 0, Falseset Shell = Nothing~~~~~~~~~~~~~~~~~~~~~~~~~~~~~編集後のbcpコマンドbcp "select count(*) from sys.fn_trace_gettable('C:\
Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\ MSSQL\Log\am\log_6.trc', default) where LoginName = 'sa' and (StartTime >= '2019-01-01 00:00:00' or EndTime <= '2019-07-13 23:59:59')" queryout "C:\odbc\countfile.csv"-c -S " *********" -T
回答
-
Haruka様へ、ありがとうございます
>1.SQL Serverを使用してSSMSでこのコードを実行しますか。
実行します。
>2.SQL Serverのバージョン情報を教えていただけますでしょうか。
Microsoft SQL Server Management Studio 10.50.4000.0
sqlservr.exe 10.50.4000.0
>3.あなたのログに何かエラーがありますか。
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]BCP ホストのデータファイルが開けません。
詳細な内容です
1.トレースフォルダ内の拡張子がtrcのみのファイルをリスト化
【例】
トレースファルダ:
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\ トレースファイル:
log_89.trc、log_90.trc
トレースファイルのリスト化の内容
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_89.trc
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_90.trc2.リストファイルを読込みして以下の様なselect命令を含むBCPコマンドを実行する
SELECT COUNT(*) FROM SYS.fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_89.trc',default) where LoginName='ABC' and
StartTime>='2019-08-22 17:30:00' and StartTime<='2019-08-22 17:45:00'
※2件目は2件目のトレースファイル名になります
3.上記の内容を以下の様なBCPコマンドで実施する
bcp "上記のSELECT命令" queryout C:\abc.csv -c -S SERVER01 -e C:\Error01.log -o C:\Error02.log -T
※認証は、SQL Server認証とWindows認証にしています4.BCPコマンド実行結果
「最初のレコード」のみBCPコマンドが失敗する、2番目のレコード処理は正常に終了する
失敗した時の Error02.log の内容
「SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]BCP ホストのデータファイルが開けません。」- 回答としてマーク momocyan99 2019年8月21日 3:00
- 編集済み momocyan99 2019年8月22日 8:48
すべての返信
-
momocyan99さん、こんにちは。フォーラムオペレーターのHarukaです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
実際の環境といくつかの簡単なデータにつきまして詳細な情報がないので、下記の3点をご確認いただけますでしょうか。
1.SQL Serverを使用してSSMSでこのコードを実行しますか。
2.SQL Serverのバージョン情報を教えていただけますでしょうか。
3.あなたのログに何かエラーがありますか。
この問題がShellにもっと関連しているようと思っていますので、
対応するフォーラムに投稿することで、プロな意見を得るでしょう。
また、公式の記事bcpユーティリティを参照いただければと思います。どうぞよろしくお願いいたします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
Haruka様へ、ありがとうございます
>1.SQL Serverを使用してSSMSでこのコードを実行しますか。
実行します。
>2.SQL Serverのバージョン情報を教えていただけますでしょうか。
Microsoft SQL Server Management Studio 10.50.4000.0
sqlservr.exe 10.50.4000.0
>3.あなたのログに何かエラーがありますか。
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]BCP ホストのデータファイルが開けません。
詳細な内容です
1.トレースフォルダ内の拡張子がtrcのみのファイルをリスト化
【例】
トレースファルダ:
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\ トレースファイル:
log_89.trc、log_90.trc
トレースファイルのリスト化の内容
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_89.trc
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_90.trc2.リストファイルを読込みして以下の様なselect命令を含むBCPコマンドを実行する
SELECT COUNT(*) FROM SYS.fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Log\log_89.trc',default) where LoginName='ABC' and
StartTime>='2019-08-22 17:30:00' and StartTime<='2019-08-22 17:45:00'
※2件目は2件目のトレースファイル名になります
3.上記の内容を以下の様なBCPコマンドで実施する
bcp "上記のSELECT命令" queryout C:\abc.csv -c -S SERVER01 -e C:\Error01.log -o C:\Error02.log -T
※認証は、SQL Server認証とWindows認証にしています4.BCPコマンド実行結果
「最初のレコード」のみBCPコマンドが失敗する、2番目のレコード処理は正常に終了する
失敗した時の Error02.log の内容
「SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]BCP ホストのデータファイルが開けません。」- 回答としてマーク momocyan99 2019年8月21日 3:00
- 編集済み momocyan99 2019年8月22日 8:48