Click here to Skip to main content
Licence 
First Posted 19 Apr 2007
Views 25,800
Bookmarked 16 times

Creating Log file for Stored Procedure

By | 19 Apr 2007 | Article
In this articleI am going to show how to create log file for stored Procedure
 
Part of The SQL Zone sponsored by
See Also

Introduction

We create stored procedure for our business logic. Some time for our convenience we want to record some message line by line Here I am providing one example to prepare log file for stored procedure.

Example

Creating Log file for Stored Procedure:


In this example I am going to show how to create log file for stored Procedure.

Log File will be created on Database Server.

Give write permission in c: drive or folder where to create the logfile.

Create a table Person

create table Person
(
PID int Primary Key identity (1, 1)
,Person_Name varchar(50)
,Person_Address varchar(150) not null
)

This is test table used in the stored procedure

create procedure CreateLog
(
@Msg varchar(500)
,@Start bit
)
as
begin
declare @cmd varchar(2000)
if(@Start = 1)
begin
set @cmd = 'echo --------------'+ convert(varchar(10),getDate(),101) +'------- --------------- > C:\MyLog.txt'
exec master..xp_cmdshell @cmd
end

set @cmd = 'echo ' + @Msg + ' >> C:\MyLog.txt'
exec master..xp_cmdshell @cmd
end

Now I am going to create a stored procedure in which i will insert one record and then update the Person_Address with null value which will throw error and i will record that in logfile.

create procedure PersonUpdate
(
@PID int
,@Address varchar(50)
)
as
begin
declare @LineNumber varchar(500)

begin transaction

insert into Person values ('Mack','New York')

if(@@error <> 0) goto ErrorHandler

exec CreateLog 'Mack , New York inserted in Person table',1

Update Person set Person_Address = @Address where PID = @PID

if(@@error <> 0) goto ErrorHandler

exec CreateLog 'city has been update For give PID',0

commit transaction
return
ErrorHandler:
begin
Rollback transaction
set @Msg = 'Transaction Rollbacked, Error occured'
exec CreateLog @Msg,0
End
End


now execute the command

exec PersonUpdate 1,null

Now go to C:\MyLog.txt
and open this file messages are recorded here.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

sarvesh.upadhyay

Web Developer

India India

Member

Sarvesh Upadhyay is Software developer on various domain like CRM, CMS, Inventory Management System, Telecome Billing, E-Commerce application etc. He has worked on Asp.Net, C#,Javascript, MS-SQL Server,Web Services,.Net Remoting, MSMQ,COM Programming in VB 6.0. He has worked on Saleslogix CRM. Currently he is working in Birlasoft India Ltd. as Senior Software Engineer.
He has done B.Sc.(Hons) from Calcutta University and MCPD in dotnet 2.0 Enterprise Application Developer.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionHow can i auto increment the log file Pinmemberkneekill2:59 7 Mar '09  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 19 Apr 2007
Article Copyright 2007 by sarvesh.upadhyay
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid