Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

ekspor data tabel yang dimasukkan ke file .txt di server SQL

Anda dapat membuat tabel lain untuk menyimpan sementara hasil dari INSERTED sebelum memanggil bcp .

create trigger monitorTrigger on test 
AFTER insert 
as
declare @sql varchar(8000)

--delete it every time
TRUNCATE TABLE test2.dbo.tempInserted

--populate it from inserted
INSERT INTO test2.dbo.tempInserted
SELECT * FROM INSERTED

--use it in bcp
SELECT @sql = 'bcp "select * from test2.dbo.tempInserted" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'

exec xp_cmdshell @sql

EDIT: Tampaknya ini tidak akan berhasil, karena tabel tempInserted terkunci pada saat bcp disebut.

Berikut ini adalah ide solusi, mungkin bukan solusi yang paling elegan tetapi harus berhasil (jika Anda tidak menggunakan edisi ekspres). Anda dapat menggunakan pemicu hanya untuk menyimpan data yang dimasukkan ke dalam tabel ini dan Anda dapat membuat pekerjaan yang berjalan secara berkala (katakanlah setiap 5 menit) dan membaca dari tabel itu, menyalin ke file dan menghapus.

Jadi pemicunya adalah:

create trigger monitorTrigger on test 
AFTER insert 
as
BEGIN
  INSERT INTO test2.dbo.tempInserted
  SELECT * FROM INSERTED
END

dan Prosedur Tersimpan untuk menyalin ke file - yang dapat Anda jalankan dari pekerjaan:

CREATE PROC transferToFile 
AS
BEGIN
 declare @sql varchar(8000)

 SELECT @sql = 'bcp "select * from test2.dbo.tempInserted" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'

 exec xp_cmdshell @sql

 --delete at the end
 TRUNCATE TABLE test2.dbo.tempInserted
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Cara menemukan semua nama instance localdb

  2. Temukan indeks kemunculan terakhir dari sub-string menggunakan T-SQL

  3. SQL Server 2012 String acak dari daftar

  4. Tidak dapat menulis data ke transport. Vs2017 ASP.net core Scaffolding (MSSQL WINDOW 10)

  5. ReportViewer 11 (2012) Visual Studio 2010