ورود / ثبت نام
0
0

خطای ورود به سیستم SQL Server ازطریق Stored Procedure

697 بازدید
سیستم SQL Server

سیستم SQL Server

در این مقاله شما یاد می گیرید که چگونه از یک Stored Procedure به یک SQL Server exception وارد شوید و همچنین خطای ورود به سیستم SQL Server از طریق Stored Procedure را برطرف کنید. برای رفع این مشکل شما را به ادامه ی مطلب و خواندن این مقاله دعئت میکنم. با من همراه باشید …

سیستم SQL Server

جدولی مطابق با روشی که می خواهید exception (استثنا) ذخیره شود ایجاد کنید.

CREATE TABLE [dbo].[ExceptionLog](  
[id] [int] IDENTITY(1, 1) NOT NULL,  
[ErrorLine] [int] NULL,  
[ErrorMessage] [nvarchar](5000) NULL,  
[ErrorNumber] [int] NULL,  
[ErrorProcedure] [nvarchar](128) NULL,  
[ErrorSeverity] [int] NULL,  
[ErrorState] [int] NULL,  
[DateErrorRaised] [datetime] NULL  
)  

stored procedure را ایجاد کنید به صورتی که جزئیات exception را به ExceptionLog table الحاق می کند.

Create Proc [dbo].[spGetErrorInfo] 

as
begin
insert into ExceptionLog(  
ErrorLine, ErrorMessage, ErrorNumber,  
ErrorProcedure, ErrorSeverity, ErrorState,  
DateErrorRaised  
)  
SELECT  
ERROR_LINE () as ErrorLine,  
Error_Message() as ErrorMessage,  
Error_Number() as ErrorNumber,  
Error_Procedure() as 'Proc',  
Error_Severity() as ErrorSeverity,  
Error_State() as ErrorState,  
GETDATE () as DateErrorRaised 
end

یک student table برای تست کردن آن ایجاد کنید.

CREATE TABLE [dbo].[student](  
[Id] [int] IDENTITY(1, 1) NOT NULL,  
[Name] [nchar](10) NULL,  
[City] [nchar](10) NULL  
)  

یک procedure برای الحاق کردن اطلاعات به student tableایجاد کنید.

create proc spStudentInsert
@name varchar(10),
@city varchar(10)  
AS  
BEGIN  
SET NOCOUNT ON;  
BEGIN TRY  
insert into student(Name, City) values(@name, @city)  
END TRY  
BEGIN CATCH  
EXEC dbo.spGetErrorInfo  
END CATCH  
END  

اکنون Stored Procedure را اجرا کنید.

exec spStudentInsert 'Raj', 'Varanasi'

حالا record (رکورد) وارد شده را مشاهده کنید.

select * from student

سیستم SQL Server

اکنون یک exception (استثنا) در روش درج شده (Insert Procedure) ایجاد کنید.

ALTER PROCEDURE[dbo].[spStudentInsert]
@name varchar(10),
@city varchar(10)  
AS  
BEGIN  
SET NOCOUNT ON;  
BEGIN TRY  
Select 1 / 0; // here i am giving hard coded value only for testing purpose if any run time exception occure it will caught into catch block  
insert into student(Name, City) values(@name, @city)  
END TRY  
BEGIN CATCH  
EXEC dbo.spGetErrorInfo  
END CATCH  
END  

اکنون روش ذخیره شده (stored procedure) exec spStudentInsert ‘Raj’,’Varanasi’ را اجرا کنید.

سیستم SQL Server

آیا این مطلب را می پسندید؟
https://www.mspsoft.com/?p=16537
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
داریوش فرخی
داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .
مطالب بیشتر
برچسب ها:

نظرات

0 نظر در مورد خطای ورود به سیستم SQL Server ازطریق Stored Procedure

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

هیچ دیدگاهی نوشته نشده است.