SQL SErver 2008 R2 Express 테이블의 내용을 CSV 또는 TXT 파일로 내 보내야합니다.xp_cmdshell없이 CSV로 SQL Server 2008 R2 테이블 내용 내보내기
xp_cmdshell을 활성화 할 수 없으며 임시 분산 쿼리를 허용 할 수도 없습니다.
테이블 중 하나의 트리거에서 실행 가능해야합니다.
SQL SErver 2008 R2 Express 테이블의 내용을 CSV 또는 TXT 파일로 내 보내야합니다.xp_cmdshell없이 CSV로 SQL Server 2008 R2 테이블 내용 내보내기
xp_cmdshell을 활성화 할 수 없으며 임시 분산 쿼리를 허용 할 수도 없습니다.
테이블 중 하나의 트리거에서 실행 가능해야합니다.
USE master;
GO
EXEC sp_configure 'show advanced option', '1';
RECONFIGURE;
EXEC sp_configure;
EXEC sp_configure 'Ad Hoc Distributed Queries', '1';
RECONFIGURE;
EXEC sp_configure;
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Text;Database=C:\Temp\;HDR=Yes;',
'SELECT * FROM test.csv')
(object_id, name)
SELECT 'object_id', 'name'
UNION ALL
SELECT object_id, name
FROM sys.tables
--This require csv file to be there at location
삽입시 문제가 발생하면 Link을 따르십시오.
일단 작동하면 트리거에서 동일한 스크립트를 사용합니다.
죄송합니다. 제 게시물에 명시된 바와 같이 '임시적인 분산 쿼리'를 사용할 수 없습니다. 그렇지 않으면 작동하지 않을 것이라고 가정합니다. 그래도 고마워 – Maa421s
이것은 훨씬 더 끔찍한 디자인 패턴을 극복하기위한 끔찍한 해킹처럼 들립니다. (죄송 합니다만 무례한 것은 아닙니다.)하지만 정말로이 경로를 사용하려면 테이블 데이터를 파일로 내보내는 powershell 스크립트가 포함 된 작업 단계로 SQL 에이전트 작업을 조사해야합니다. 트리거는'msdb.dbo.sp_start_job'을 호출 할 수 있습니다. 하지만 진지하게! – DMason
왜 방아쇠를 당길 필요가 있습니까? @DMason은 올바른 IMO를 가지고 있습니다. – SMM
예. 소스 코드를 수정하기가 매우 어려우던 오래된 시스템에서 데이터를 가져 오려고 시도하는 것은 끔찍한 해킹입니다 (1999 년경). DB는 쉽게 수정할 수 있습니다. 또한 SQL Express를 실행 중입니다. 언급하지 않으니 죄송합니다. SQL 에이전트가 없습니다. 새 데이터가 있으면 추출 만 업데이트하면됩니다. 따라서 트리거가됩니다. 내 다른 해결책은 PS 스크립트가있는 작업 스케줄러이지만 업데이트가 없을 때 계속 실행하는 것은 어리석은 일입니다. 새 데이터가있을 때 추출 만 작성하면됩니다. 추출물을 채취하여보고를 위해 다른 시스템으로 옮깁니다. – Maa421s