테이블 데이터를 텍스트 파일로 덤프하는 절차를 작성했습니다 (관련 변수가 선언되었다고 가정).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"
쿼리를 실행하는 트랜잭션이 프로 시저를 수행하는 트랜잭션에 의해 차단되고 있음을 알 수 있습니다. 프로세스를 효과적으로 교착 상태로 만듭니다.
나는 코드를 가지고 놀았으며 왜 이런 일이 일어날 지 알 수 없다. 내가 어딘가에 놓친 뭔가가 있니? 어떤 도움
감사합니다 ...
편집 : 그건 아마 더 관련이 있기 때문에 변경 참조 대신 JDBC로 수정합니다.