Guest User

Untitled

a guest
Feb 17th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. USE [DatabaseName]
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5. SET QUOTED_IDENTIFIER ON
  6. GO
  7.  
  8. ALTER TRIGGER [dbo].[trig_WriteDropfileOnChange] ON [dbo].[tableName]
  9. FOR INSERT, UPDATE
  10. AS
  11.  
  12. -- declare vars
  13. DECLARE @RecordId bigint,
  14. @RetCode int,
  15. @FileSystem int,
  16. @FileHandle int,
  17. @MyDate varchar(255),
  18. @FileName varchar(255)
  19.  
  20. -- build filename
  21. SET @MyDate = getDate()
  22. SET @MyDate = REPLACE(@MyDate, ':', '')
  23. SET @MyDate = REPLACE(@MyDate, ' ', '')
  24. SET @MyDate = REPLACE(@MyDate, '-', '')
  25. SET @MyDate = REPLACE(@MyDate, '.', '')
  26.  
  27. SELECT @RecordID = myfield
  28. FROM INSERTED
  29.  
  30. SET @FileName = '\pathtodropdirectory' + @MyDate + '.txt'
  31.  
  32. EXECUTE @RetCode = sp_OACreate 'Scripting.FileSystemObject', @FileSystem OUTPUT
  33. IF (@@ERROR|@RetCode > 0 Or @FileSystem < 0)
  34. RAISEERROR('could not create FileSystemObject', 16, 1)
  35.  
  36. EXECUTE @RetCode = sp_OAMethod @FileSystem, 'OpenTextFile', @FileHandle OUTPUT, @FileName, 2, 1
  37. IF (@@ERROR|@RetCode > 0 Or @FileHandle < 0)
  38. RAISEERROR('Could not open file.', 16, 1)
  39.  
  40. EXECUTE @RetCode = sp_OAMethod @FileHandle, 'WriteLine', NULL, CONVERT(varchar, @RecordId)
  41. IF (@@ERROR|@RetCode > 0 Or @FileHandle < 0)
  42. RAISEERROR('Could not write to file.', 16, 1)
  43.  
  44. EXECUTE @RetCode = sp_OAMethod @FileHandle, 'Close', NULL
  45. IF (@@ERROR|@RetCode > 0)
  46. RAISEERROR('Could not close file.', 16, 1)
  47.  
  48. EXEC sp_OADestroy @FileSystem
Add Comment
Please, Sign In to add comment