olajfm Posted May 15, 2012 at 11:08 PM Report #455946 Posted May 15, 2012 at 11:08 PM (edited) Estou a tentar exportar para um ficheiro XML o conteúdo de uma tabela. A minha ideia está em que quando uma determinada linha da tabela seja Inserida, Alterada ou Eliminada o ficheiro XML seja gerado para uma pasta. O que me está a acontecer é que o SQL Server fica todo bloqueado, estou a utilizar o Management 2008 assim como a BD. Agradecia que fizessem este exercício: 1) Base de dados CREATE TABLE [dbo].[Entity]( [EntID] [int] IDENTITY(1,1) NOT NULL, [EntName] [varchar](150) NULL, [EntAddress] [varchar](max) NULL, [iDEntType] [int] NULL, [EntVAT] [varchar](50) NOT NULL) 2) Trigger CREATE TRIGGER [dbo].[utg_XML] ON [dbo].[Entity] AFTER INSERT,DELETE,UPDATE AS BEGIN EXEC usp_XML END 3) Stored Procedure CREATE PROCEDURE [dbo].[usp_XML] AS BEGIN DECLARE @FileName VARCHAR(1000) DECLARE @SQLCmd VARCHAR(1000) SELECT @FileName = 'C:\Entities.xml' SELECT @SQLCmd = 'bcp ' + '"SELECT EntID as ID, EntName as NAME, EntAddress as ADDRESS, EntVAT as VAT'+ ' FROM GarmentCycle.dbo.Entity ' + ' FOR XML PATH (''Entity''),ELEMENTS, ROOT (''Entities'') "' + ' queryout ' + @FileName + ' -w -T -S' + @@SERVERNAME EXECUTE master..xp_cmdshell @SQLCmd END PROBLEMAS: Ao mexer em algum registo fica tudo bloqueado e o ficheiro também fica bloqueado e com 0 bytes. Alguém sabe como posso contornar isto? Muito Obrigado Edited May 16, 2012 at 12:30 AM by olajfm
Caça Posted May 16, 2012 at 08:24 AM Report #455966 Posted May 16, 2012 at 08:24 AM Para apanhar os registos modificados não deves fazer assim, deves utilizar as tabelas Inserted e Deleted que estão disponíveis dentro do trigger para apanhares os registos que são modificados. Pedro Martins Não respondo a duvidas por PM
olajfm Posted May 16, 2012 at 11:26 AM Author Report #456022 Posted May 16, 2012 at 11:26 AM Eu preciso de gerar o ficheiro XML sempre com os dados actuais da tabela, por isso é que parti para este raciocínio de gerar o ficheiro sempre que haja um INSERT, UPDATE or DELETE no Trigger. Nunca utilizei estas tabelas temporárias, por aquilo que descrevi pode-me dar mais algumas pistas p.f.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now