テーブルデータをテキストファイルにダンプする手順を記述しました(関連する変数が宣言されていると仮定します)。JDBCから呼び出されたときにBCPを使用してテーブルデータをファイルにダンプできない
SET @sql = '"SELECT * FROM ##OutputData"'
SET @cmdline = 'bcp '+ @sql +' queryout '[email protected]+'\outputFile.csv -c -t -T -S' + @@ServerName
EXEC master..xp_cmdshell @cmdline
この手順では、SQL Serverの内部から実行すると正常に動作しますが、それはJavaでJDBCから呼び出されていないとき。
アクティビティモニタを見ると、クエリ"SELECT * FROM ##OutputData"
を操作しているトランザクションが、プロシージャを実行しているトランザクションによってブロックされていることがわかります。効果的にプロセスをデッドロックします。
私はコードを使いこなしていますが、なぜこのことが起こるのかわかりません。どこかで行方不明のものがありますか?任意の助け
おかげで...
EDITは:それはおそらくより関連性のため、代わりにJDBCにクォーツへの参照を変更しました。