私は、リモートデータベースに接続してクエリを実行し、それをcsvファイルとして保存する次のSQLCMDを持っています。batファイルループから無限にSQLCMDを実行
sqlcmd -S tcp:0.0.0.0,1433 -U user -P pass -d mydb -W -w 999 -s "," -Q "SELECT * FROM dbo.CSVData" -o "C:\wamp\sqlcmd.csv"
これは、コマンドプロンプトから手動で実行するとうまく動作します。
私はphpからsqlcmdコマンドを実行する必要があります。私はphpでいくつかの実行コマンドを試しましたが、何も動作しません。唯一のオプションは.batファイルを使用してphpで呼び出すことですが、そうするとsqlcmdコマンドが(数百回)連続して実行され、終了します。私は/ waitとexitを使ってみましたが、これは何百と何百ものコマンドプロンプトウィンドウを開くことによって悪化し、システムをフリーズします。以下は私が試したコードです。私が間違っていることを教えてください。ありがとう。
@echo off
echo Running sqlcmd
start /wait sqlcmd -S tcp:0.0.0.0,1433 -U user -P pass -d mydb -W -w 999 -s "," -Q "SELECT * FROM dbo.CSVData" -o "C:\wamp\sqlcmd.csv"
:exit
cmdプロンプトからバッチファイルを実行しようとしましたか? PhPコードがループしていないことを確認するだけですか?あなたがリストしたバッチファイルがどのようにループを引き起こすかはわかりません。 –
'start '"/wait ... '(' start'は最初に引用された文字列をウィンドウタイトルとして解釈することができるので、空の文字列 '" "を明示的に定義し、 ... – aschipfl
私はPHPから.batファイルを実行していません。私はちょうどそれをダブルクリックして実行しています@ジョーC –