Error Messages Versus Exceptions
Jan 19, 2008
I am using .NET v2.0 and SqlServer2005 SB in 90 compatibility mode.
From my brief experience it appears that if I try to subscribe to SB with incorrect SQL or wrong names .NET will immediately throw an exception. However, if my code is correct but there is an error on the server (for example incorrect options as per http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=883992&SiteID=1) then SB will immediately fire the notification message but with €œerror€? instead of €œupdate€? content. How do I detect this?
My code is based on the http://msdn2.microsoft.com/en-us/library/3ht3391b(vs.80).aspx example. (I had too much trouble with the SqlDependency class, including overflowing error logs. So unlike the post at http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=903713&SiteID=1 I am NOT receiving an SqlNotificationEventArgs object. I wish I were getting one!) I€™ve included my Listen() method below.
The debug portion of this code gives me message body that looks like the following when everything is good. What should it look like, if for example my SET OPTIONS (first link above) were wrong?
messageBody: <qn:QueryNotification xmlns:qn="http://schemas.microsoft.com/SQL/Notifications/QueryNotification" id="129" type="change" source="data" info="update" database_id="23" sid="0xF4F50461FD43CA4191A1173B9350632A"><qn:Message>7fd415c7-2986-411d-abfd-615cbce0af28</qn:Message></qn:QueryNotification>
Thanks. Code follows:
private void Listen()
{
// infinite loop on this thread: keep listening even after
// receiving notification
while( true )
{
// connects to SqlServer queue and sleeps until a notification msg arrives
using( SqlConnection conn = new SqlConnection( _connect ) )
{
WriteMessage( "RequestNotification: Listen connection opened." );
using( SqlCommand cmd = conn.CreateCommand() )
{
int msgBodyId = InvalidSubscriptionId;
cmd.CommandText = waitFor;
cmd.CommandTimeout = 0; // _notificationTimeout + 100;
try
{
conn.Open();
// the thread is blocked until the waitfor event occurs.
SqlDataReader reader = cmd.ExecuteReader();
// the waitfor has triggered when we've reached here.
WriteMessage( "RequestNotification: Notification received." );
// there may be mulitple notifications waiting, but there seems only
// ever to be a single record to read, but we still use the while
// construct to ensure we get them all...
while( reader.Read() )
{
// the messageBody is actually XML with a GUID embedded as the msgId, eg:
// <qn:Message>82120744-f2bf-4c62-a17c-867cc6eb040e</qn:Message>
String messageBody = FixupMessageText( System.Text.ASCIIEncoding.ASCII.GetString( (byte[]) reader.GetValue( 13 ) ).ToString() );
msgBodyId = MessageBodyId( messageBody );
// doesn't work, sqlbinary...
// String messageBody = reader.GetSqlXml( 13 ).ToString();
#if __dbg
// used for debugging
// messageText = System.Text.ASCIIEncoding.ASCII.GetString( (byte[]) reader.GetValue( 13 ) ).ToString();
Byte status = reader.GetByte( 0 );
Byte priority = reader.GetByte( 1 );
Int64 queuingOrder = reader.GetInt64( 2 );
Guid conversationGroupId = reader.GetGuid( 3 );
Guid conversationHandle = reader.GetGuid( 4 );
Int64 messageSeqNo = reader.GetInt64( 5 );
String serviceName = reader.GetString( 6 );
Int32 serviceId = reader.GetInt32( 7 );
String serviceContractName = reader.GetString( 8 );
Int32 serviceContractId = reader.GetInt32( 9 );
String messageTypeName = reader.GetString( 10 );
Int32 messageTypeId = reader.GetInt32( 11 );
String validation = reader.GetString( 12 );
StringBuilder sb = new StringBuilder( "MESSAGE", 1024 );
sb.AppendLine();
sb.Append( " " );
sb.Append( BuildMessage( "status", status ) );
sb.Append( BuildMessage( "priority", priority ) );
sb.Append( BuildMessage( "queuingOrder", queuingOrder ) );
sb.Append( BuildMessage( "conversationGroupId", status ) );
sb.Append( BuildMessage( "conversationHandle", conversationHandle ) );
sb.Append( BuildMessage( "messageSeqNo", messageSeqNo ) );
sb.Append( BuildMessage( "serviceName", serviceName ) );
sb.Append( BuildMessage( "serviceId", serviceId ) );
sb.Append( BuildMessage( "serviceContractName", serviceContractName ) );
sb.Append( BuildMessage( "serviceContractId", serviceContractId ) );
sb.Append( BuildMessage( "messageTypeName", messageTypeName ) );
sb.Append( BuildMessage( "messageTypeId", messageTypeId ) );
sb.Append( BuildMessage( "validation", validation ) );
sb.AppendLine();
sb.Append( " " );
sb.Append( BuildMessage( "messageBody", messageBody ) );
WriteMessage( sb.ToString() );
#endif
}
reader.Close();
// and now we need to hand things back to the user's passed delegate.
// orphan notifications can be left behind from previous runs,
// determine if this notification is one we want to pass on
if( _subscriptionId == msgBodyId )
{
WriteMessage( "Message " + msgBodyId.ToString() + " calling delegate." );
// see http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlnotificationinfo.aspx
SqlNotificationEventArgs e = new SqlNotificationEventArgs( SqlNotificationType.Change, SqlNotificationInfo.AlreadyChanged, SqlNotificationSource.Database );
_delegate( this, e );
}
else
{
WriteMessage( "Message " + msgBodyId.ToString() + " ignored." );
}
}
catch( SqlException )
{
// if the queue name doesn't match one in the db an exception will be thrown
throw;
}
finally
{
conn.Close();
}
}
}
WriteMessage( "RequestNotification: Listen connection closed." );
}
}
View 7 Replies
ADVERTISEMENT
Aug 6, 2007
Hello guys,I need some ideas on how to handle an exception or a user defined error message.I have a procedure that creates a new user. Lets say if the e-mail address entered is already in use. What are some of the best practices for notifying the user that the e-mail address is already in use?This is what I was thinking....Solution #1--------------My proc will raise an error with a message id that is great than 50000, then my DAL will recognize this is a user defined error and spit back to the user instead of trapping it.Solution #2--------------The proc should have an output param ( @CreationStatus CHAR(1) ).If the @CreationStatus has a value for example "E", I will have lookup the value for "E" in my app and spit back that custom error message. I don't really like this option because it is too concrete.What are some of the ways you deal with this situation?Your suggestions are greatly appreciated.Thank you!
View 2 Replies
View Related
Jan 28, 2008
Does anyone know of a way to capture in C# SQL PRINT ERROR MESSAGES generated from stored procedures? Any help would be greatly appreciated.
View 6 Replies
View Related
Sep 28, 2006
Hi,
Using RAISERROR from within a stored prcedure will result in a SQLException being thrown at the client side of a JDBC connection.
I am trying to provide a meaningfull error message to be shown to the end user. However, all exceptions thrown will inevitably start with : "[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]". The following questions then arise :
- Is there a way of configuring SQL Server not to display this header ?
alternatively,
- Is there another way of conveying error messages to the client through JDBC ?
Thank you for your answers,
Ben
View 1 Replies
View Related
Sep 20, 2006
I'm setting up a routine to do some reindexing. To get the info I need I'm trying to use the new function. The DB I think is causing the problem does pass DBCC CHECKDB. I'm not sure why I'm getting this but can not find anyone else that is getting this same error.
When I run this....
SELECT *
FROM sys.dm_db_index_physical_stats (NULL, NULL, NULL, NULL, 'detailed')
I get this....
Location: qxcntxt.cpp:954
Expression: !"No exceptions should be raised by this code"
SPID: 236
Process ID: 1060
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
If I run only for the DB I think is causing the problem I get this...
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
View 6 Replies
View Related
Jun 1, 2006
I am trying to look up records by the first letter of the last name in SQL Express ADO recordsets.
"Select * from people where people.lastname like 'a%'"
works correctly. (a*) works also.
ptRs.movefirst
PtRs.Find "lastname LIKE 'a%'", 0, adSearchForward
Does not work, does not find anything, but if I use 'a %' ('a<space>%') it finds the first last name starting with a.
Why does a% not work. Can you not use wild characters in Find Statements in SQL Express?
View 3 Replies
View Related
Jul 20, 2005
DB-Library Error 10007: General SQL Server error: Check messages fromthe SQLServer.CREATE PROCEDURE [dbo].[spu_Import_Export_Image](@srvr varchar(50),@db varchar(50),@usr varchar(15),@pwd varchar(50),@tbl varchar(50),@col varchar(50),@mod varchar(1),@imgpath1 varchar(1000),@pk varchar(50))ASBEGINdeclare @path varchar(50)declare @whr varchar(200)declare @fil varchar(100)declare @cmd varchar(1000)declare @imgpath varchar(800)declare @ext varchar(5)--declare @pk varchar(50)declare @KeyValue varchar(8000)declare @image varchar(50)--declare @imgpath1 varchar(1000)declare @imgpath2 varchar(1000)declare @sellist varchar(2000)set @path = 'c: extCopy.exe'select @sellist = 'DECLARE curKey CURSOR FOR SELECT ' + @pk +' FROM '+ @tbl + ' ORDER BY ' + @pkexec (@sellist)OPEN curKeyFETCH NEXT FROM curKey INTO @KeyValueWHILE (@@fetch_status = 0)BEGINset @whr = '"where '+ @pk +' = "' + @KeyValueset @fil = @imgpath1 + '' + @KeyValue --+ @extset @cmd = @path + ' /S ' + @srvr + ' /D ' + @db + ' /U ' + @usr+ ' /P ' + @pwd+ ' /T ' + @tbl + ' /C ' + @col + ' /W ' + @whr + '/F ' + @fil+ ' /' + @modexec Master..xp_cmdShell @cmdFETCH NEXT FROM curKey INTO @KeyValueENDCLOSE curKeyDEALLOCATE curKeyENDGOAbove srcipt runs fine with image data type in one table but when irun for some other table it gives me Error MessageTEXTCOPY Version 1.0DB-Library version 8.00.194SQL Server 'WSQL01' Message 170: Line 1: Incorrect syntax near '99'.(Concerning line 1)DB-Library Error 10007: General SQL Server error: Check messages fromthe SQLServer.ERROR: Could not use database 'test1'NULL-----------Aslo it only runs on server console if i run it from workstation uingsame files and tables it gives me an error again. Can anybody help meand reply me at Join Bytes! asap.thnx,dharmesh
View 1 Replies
View Related
Dec 4, 2007
I am writing a tracking system. There is a table in the Sql Server 2000 database that contains a column for the user's ntid, the page they visited, the date of the last visit, a column each to track hits for the current year and a previous year column (basically for archiveing and reporting purposes), and 12 columns for hits per month (obviously, one per column). To record a hit, my unit determined we would only track one hit per day, so basically, there are 3 possible outcomes I needed to account for :
1) A user had never hit the page before, so I need to record the user's ID, the page they hit for the first time (since it won't exist yet), increment the year counter for that user on that page, and then determine what month column counter should be incremented as well.
2) A user had hit the page before, but not on this same day, so I need to update the row for that user on that page, changing the last visit field to reflect the current date, and icnrementing the appropriate counters.
3) A user had hit the page already on the same day, so basically, nothing should be changed whatsoever. No action should be taken.
I wrote a stored procedure to attempt to accomplish that logic, and though it's probably not very pretty, I was surprised at how few errors I got on my first Syntax check. Here's the stored procedure :
CREATE PROCEDURE sp_hitMe@ntid varchar(10),@page varchar(50),@thisHit datetimeASSET NOCOUNT ON
DECLARE @tempDate datetimeDECLARE @yearCount intDECLARE @monthCount intDECLARE @inMonth varchar(20)DECLARE @monthColumn varchar(10)SET @inMonth = DATENAME(mm, @thisHit)SET @monthColumn = CASE WHEN @inMonth = 'January' THEN 'hitsInJan' WHEN @inMonth = 'February' THEN 'hitsInFeb' WHEN @inMonth = 'March' THEN 'hitsInMar' WHEN @inMonth = 'April' THEN 'hitsInApr' WHEN @inMonth = 'May' THEN 'hitsInMay' WHEN @inMonth = 'June' THEN 'hitsInJun' WHEN @inMonth = 'July' THEN 'hitsInJul' WHEN @inMonth = 'August' THEN 'hitsInAug' WHEN @inMonth = 'September' THEN 'hitsInSep' WHEN @inMonth = 'October' THEN 'hitsInOct' WHEN @inMonth = 'November' THEN 'hitsInNov' WHEN @inMonth = 'December' THEN 'hitsInDec' END DECLARE @insString varchar(500)DECLARE @updString varchar(500)SET @insString = 'INSERT INTO tblTracking (ntid, page, lastVisit, hitsThisYear, ' + @monthColumn + ') VALUES (' + @ntid + ', ' + @page + ', ' + @thisHit + ', 1, 1)'
if exists(select * from tblTracking where ntid = @ntid and @page = page) begin if exists(select * from tblTracking where lastVisit = @thisHit) begin -- DO NOTHING! end else begin DECLARE @theColumn varchar (100) SET @theColumn = 'SELECT ' + @monthColumn + ' FROM tblTracking WHERE ntid = @ntid AND @page = page' SET @yearCount = (SELECT hitsThisYear FROM tblTracking WHERE ntid = @ntid AND @page = page) + 1 SET @monthCount = (Exec @theColumn) SET @monthCount = @monthCount + 1 SET @updString = 'UPDATE tblTracking SET lastVisit = ' + @thisHit + ', hitsThisYear = ' + @yearCount + ', ' + @monthColumn + ' = ' + @monthCount + ' WHERE ntid = @ntid AND @page = page' Exec @updString end endelse begin Exec @insString endGO
And to my surprise, the only 3 errors I got were :
Server: Msg 156, Level 15, State 1, Procedure sp_hitMe, Line 39Incorrect syntax near the keyword 'end'.Server: Msg 156, Level 15, State 1, Procedure sp_hitMe, Line 45Incorrect syntax near the keyword 'Exec'.Server: Msg 156, Level 15, State 1, Procedure sp_hitMe, Line 50Incorrect syntax near the keyword 'end'.
However, these are of course so vague as to be useless to me. What's wrong with the procedure? What have I missed?
View 9 Replies
View Related
Mar 9, 1999
Is there a way to return the SQL Native error to a Visual Basic program?
View 3 Replies
View Related
Mar 3, 1999
Hey everyone,
Here is what I'm doing:
exec xp_sendmail @recipients = 'ampx@hotmail.com',
@query = 'select * from information where recid <= 10',
@subject = 'Query test',
@message = 'hello',
@attach_results = 'TRUE',
@width = 250
I get this error:
Msg 2812, Level 16, State 4
Stored procedure 'xp_sendmail' not found.
Anyone know why? isn't xp_sendmail a function of SQL?
Thanks
View 1 Replies
View Related
Jul 20, 2005
Hello,I'd like to know if I use DTS. If I use it immediately, I can see the errorin the dialog box, instead, if I use it with scheduling, where Can I checkthe error ?ThanksSaimon(Florence)
View 2 Replies
View Related
Mar 10, 2008
Greetings
I'm learning SSIS and BIDS. I have extreme difficulty making sense of the error messages that come out.
First of all, what do the numbers mean? Each column, error, etc. is assigned a number that obviously means something yet I cannot relate them to anything. For example: The output column Name (713) on output Test (15) and Component (15) -- My table doesn't have 713 columns in it...
Then there are the error codes that obviously contain something useful. For example:
DTS Error: Microsoft.SqlServer.Dts.Runtime.TaskHost/QueueFuzzyName [33]SIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (46)" failed because error code 0xC020907D occurred, and the error row disposition on "input "OLE DB Destination Input" (46)" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.
Where would I look up: DTS_E_INDUCEDTRANSFORMFAILUREONERROR and 0xC020907D? I understand that it tried to convert a value in something numbered 46 (no idea what that is) and the conversion failed. But that's it. How do I transmogrify 46 to something I can look at. I'm a little fuzzy on what a Destination Input is. Isn't an output a destination?
Or this one:
Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors"
Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21.
I have absolutely no idea what this means except that many things happened, one of them failed, I have an error of some sort and it's error code is 0x80040E21. It must be important, it's in there twice, but what does it mean?
I'm thinking that in the help somewhere all these error messages are listed and I can look them up, but I can't seem to find it anywhere. Am I supposed to be converting them to decimal first?
Any advice from you experts would be much appreciated.
View 5 Replies
View Related
Sep 6, 2006
I'm using SqlBulkCopy. Does anyone know how I can output what row (its column names) are throwing a duplicate primary key message when I bulkCopy.WriteToServer(datatable1)?Thanks
View 1 Replies
View Related
Mar 3, 2008
Have this dynamic sql statement that I'm working on. It works fine outside the execute (running the query by iteself) and prints fine but when I execute it, I get errors. Spacing is good. Here is the SQL statement.
set @sql = 'insert into #participantInfo (strfirstname,strlastname,strindividualfk,strusername,dtelastlogin,blninactive,fk_intrightid,imgPhoto, stre_mail,strmiddleinitial,straddress1,straddress2,strcity,fk_intlocationid,strpostalcode,strhomephone,strbusinessphone,strmiscinfo1, strmiscinfo2,strsecretquestion,dteDateOfBirth,intgender,strsecretanswer) select p.strfirstname,p.strlastname,p.strindividualfk,l.strusername,l.dtelastlogin,p.blninactive,r.fk_intrightid,p.imgPhoto, p.stre_mail,p.strmiddleinitial,p.straddress1,p.straddress2,p.strcity,p.fk_intlocationid,p.strpostalcode,p.strhomephone,p.strbusinessphone, p.strmiscinfo1,p.strmiscinfo2,l.strsecretquestion,p.dteDateOfBirth,p.intgender,l.strsecretanswer from tblparticipants p inner join tblparticipantrights r on p.strindividualfk = r.strindividualfk inner join tblparticipantlogin l on p.strindividualfk = l.strindividualfk where p.fk_strsubgroupid = ''' + @strsubgroupid + ''''
exec (@sql)
Error messages are:
Server: Msg 208, Level 16, State 1, Line 1Invalid object name 'tblparticipants'.Server: Msg 208, Level 16, State 1, Line 1Invalid object name 'tblparticipantrights'.Server: Msg 208, Level 16, State 1, Line 1Invalid object name 'tblparticipantlogin'.
Anyone see what may be the cause?
thanks ^_^
View 6 Replies
View Related
Aug 23, 2001
How to write the error messages generated in a job to a file?Thanks.
View 1 Replies
View Related
Jul 10, 2000
So far I have not been able to figure out how to get more info
regarding the sql server errors. For example, I get this error
from sql server query analyzer (this just an example):
-----------
Server: Msg 128, Level 15, State 1, Line 5
The name 'does' is not permitted in this context.
Only constants, expressions, or variables allowed here.
Column names are not permitted.
-----------
Is there a way to find more information regarding this error, or
like Oracle has MeataLink, where you can search, if someone else
already got this error and how it got resolved?
Or how you folks go about resolving errors you get? Is it based
on trail and error, or experience (like already encountered this
type before) etc.?
View 1 Replies
View Related
Sep 23, 1999
If you find error messages in the dbcc results, how do you find out which table it is according to the ID number 875696?
ie:
Checking 875696
The number of data pages in this table is .....
View 3 Replies
View Related
Jul 30, 2007
Hi All,
I was wondering if anybody knows where to get a complete list of SQL Server error messages. I am writing a stored procedure that scans SQL Server Logs for errors and if there are errors in the logs, I get paged.
Thanks.
View 2 Replies
View Related
May 7, 2002
Hi,
How can I avoid certain messages from SQL Server being recorded into the Event viewer ?
For example, every time I truncate the transaction log with 'Backup log with truncate_only', It is being recorded into the Event viewer as an Error. But, I know that it is not an error.
How can I avoid this ?
Thanks
View 1 Replies
View Related
Jan 3, 2008
I have a SS2K5 stored procedure that executes 2 others stored procedures
sp_zero1 and sp_zero2
sp_zero1 and sp_zero2 do the same thing ... raises an Divide by zero error
I need to (print / select into a database) both error messages using just one
try catch block instead of 2 blocks like in the next example:
-- THIS IS THE WORKING CODE THAT I DONT WANT
BEGIN TRY
exec sp_zero1
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
PRINT ERROR_PROCEDURE()
END CATCH
BEGIN TRY
exec sp_zero2
END TRY
BEGIN CATCH
print ERROR_MESSAGE()
print ERROR_PROCEDURE()
END CATCH
if I try the next code
--THIS IS THE NON WORKING CODE
BEGIN TRY
exec sp_zero1
exec sp_zero2
END TRY
BEGIN CATCH
print ERROR_MESSAGE()
print ERROR_PROCEDURE()
END CATCH
only the first error message is printed and the execution is stopped
This is a generic example ... in reality I have a stored procedure that executes tens and hundreds of other stored procedures ... so thats the reason I need just one block of try catch instead of hundreds of blocks
thank you
View 6 Replies
View Related
May 22, 2006
when a statement fails and it tell me for example
Server: Msg 137, Level 15, State 2, Procedure spinsertnew, Line 266
Must declare the variable '@'.
How can I find which line it is using query manager?
View 13 Replies
View Related
Mar 28, 2008
Hi,
I am getting these messages in error log. What do I needd to do?
2008-03-27 09:34:54.76 spid74 Using 'dbghelp.dll' version '4.0.5'
2008-03-27 09:34:54.76 spid74 ***Stack Dump being sent to C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGSQLDump0014.txt
2008-03-27 09:34:54.76 spid74 SqlDumpExceptionHandler: Process 74 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2008-03-27 09:34:54.76 spid74 * *******************************************************************************
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 * BEGIN STACK DUMP:
2008-03-27 09:34:54.76 spid74 * 03/27/08 09:34:54 spid 74
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 * Exception Address = 7C80EEF0 Module(ntdll+0000EEF0)
2008-03-27 09:34:54.76 spid74 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
2008-03-27 09:34:54.76 spid74 * Access Violation occurred reading address 00000001
2008-03-27 09:34:54.76 spid74 * Input Buffer 87 bytes -
2008-03-27 09:34:54.76 spid74 * C a m s _ V a l 15 00 43 00 61 00 6d 00 73 00 5f 00 56 00 61 00 6c 00
2008-03-27 09:34:54.76 spid74 * i d a t e P a s s 69 00 64 00 61 00 74 00 65 00 50 00 61 00 73 00 73 00
2008-03-27 09:34:54.76 spid74 * w o r d § 77 00 6f 00 72 00 64 00 00 00 00 00 a7 0f 00 09 04 00
2008-03-27 09:34:54.76 spid74 * 2 JFINCH § 01 32 06 00 4a 46 49 4e 43 48 00 00 a7 20 00 09 04 00
2008-03-27 09:34:54.76 spid74 * 2 JFINCH & 01 32 06 00 4a 46 49 4e 43 48 00 01 26 04 00
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 * MODULE BASE END SIZE
2008-03-27 09:34:54.76 spid74 * sqlservr 01000000 02C09FFF 01c0a000
2008-03-27 09:34:54.76 spid74 * ntdll 7C800000 7C8BFFFF 000c0000
2008-03-27 09:34:54.76 spid74 * kernel32 77E40000 77F41FFF 00102000
2008-03-27 09:34:54.76 spid74 * MSVCR80 78130000 781CAFFF 0009b000
2008-03-27 09:34:54.76 spid74 * msvcrt 77BA0000 77BF9FFF 0005a000
2008-03-27 09:34:54.76 spid74 * MSVCP80 7C420000 7C4A6FFF 00087000
2008-03-27 09:34:54.76 spid74 * ADVAPI32 77F50000 77FEAFFF 0009b000
2008-03-27 09:34:54.76 spid74 * RPCRT4 77C50000 77CEEFFF 0009f000
2008-03-27 09:34:54.76 spid74 * Secur32 76F50000 76F62FFF 00013000
2008-03-27 09:34:54.76 spid74 * USER32 77380000 77410FFF 00091000
2008-03-27 09:34:54.76 spid74 * GDI32 77C00000 77C47FFF 00048000
2008-03-27 09:34:54.76 spid74 * CRYPT32 761B0000 76242FFF 00093000
2008-03-27 09:34:54.76 spid74 * MSASN1 76190000 761A1FFF 00012000
2008-03-27 09:34:54.76 spid74 * MSWSOCK 71B20000 71B60FFF 00041000
2008-03-27 09:34:54.76 spid74 * WS2_32 71C00000 71C16FFF 00017000
2008-03-27 09:34:54.76 spid74 * WS2HELP 71BF0000 71BF7FFF 00008000
2008-03-27 09:34:54.76 spid74 * USERENV 76920000 769E1FFF 000c2000
2008-03-27 09:34:54.76 spid74 * opends60 333E0000 333E6FFF 00007000
2008-03-27 09:34:54.76 spid74 * NETAPI32 71C40000 71C96FFF 00057000
2008-03-27 09:34:54.76 spid74 * SHELL32 7C8D0000 7D0CEFFF 007ff000
2008-03-27 09:34:54.76 spid74 * SHLWAPI 77DA0000 77DF1FFF 00052000
2008-03-27 09:34:54.76 spid74 * comctl32 77420000 77522FFF 00103000
2008-03-27 09:34:54.76 spid74 * psapi 76B70000 76B7AFFF 0000b000
2008-03-27 09:34:54.76 spid74 * instapi 48060000 48069FFF 0000a000
2008-03-27 09:34:54.76 spid74 * sqlevn70 4F610000 4F7B8FFF 001a9000
2008-03-27 09:34:54.76 spid74 * SQLOS 344D0000 344D4FFF 00005000
2008-03-27 09:34:54.76 spid74 * rsaenh 68000000 68034FFF 00035000
2008-03-27 09:34:54.76 spid74 * AUTHZ 76C40000 76C53FFF 00014000
2008-03-27 09:34:54.76 spid74 * MSCOREE 79000000 79045FFF 00046000
2008-03-27 09:34:54.76 spid74 * ole32 77670000 777A8FFF 00139000
2008-03-27 09:34:54.76 spid74 * msv1_0 76C90000 76CB6FFF 00027000
2008-03-27 09:34:54.76 spid74 * iphlpapi 76CF0000 76D09FFF 0001a000
2008-03-27 09:34:54.76 spid74 * kerberos 629A0000 629F7FFF 00058000
2008-03-27 09:34:54.76 spid74 * cryptdll 766E0000 766EBFFF 0000c000
2008-03-27 09:34:54.76 spid74 * schannel 76750000 76776FFF 00027000
2008-03-27 09:34:54.76 spid74 * COMRES 77010000 770D5FFF 000c6000
2008-03-27 09:34:54.76 spid74 * XOLEHLP 62A60000 62A65FFF 00006000
2008-03-27 09:34:54.76 spid74 * MSDTCPRX 62A70000 62AE8FFF 00079000
2008-03-27 09:34:54.76 spid74 * OLEAUT32 77D00000 77D8AFFF 0008b000
2008-03-27 09:34:54.76 spid74 * msvcp60 62AF0000 62B54FFF 00065000
2008-03-27 09:34:54.76 spid74 * MTXCLU 62B60000 62B78FFF 00019000
2008-03-27 09:34:54.76 spid74 * VERSION 77B90000 77B97FFF 00008000
2008-03-27 09:34:54.76 spid74 * WSOCK32 71BB0000 71BB8FFF 00009000
2008-03-27 09:34:54.76 spid74 * CLUSAPI 62B80000 62B91FFF 00012000
2008-03-27 09:34:54.76 spid74 * RESUTILS 62BA0000 62BB2FFF 00013000
2008-03-27 09:34:54.76 spid74 * DNSAPI 76ED0000 76EF9FFF 0002a000
2008-03-27 09:34:54.76 spid74 * winrnr 76F70000 76F76FFF 00007000
2008-03-27 09:34:54.76 spid74 * WLDAP32 76F10000 76F3DFFF 0002e000
2008-03-27 09:34:54.76 spid74 * rasadhlp 76F80000 76F84FFF 00005000
2008-03-27 09:34:54.76 spid74 * security 62FF0000 62FF3FFF 00004000
2008-03-27 09:34:54.76 spid74 * msfte 637D0000 63A28FFF 00259000
2008-03-27 09:34:54.76 spid74 * dbghelp 63A40000 63B54FFF 00115000
2008-03-27 09:34:54.76 spid74 * WINTRUST 76BB0000 76BDAFFF 0002b000
2008-03-27 09:34:54.76 spid74 * imagehlp 76C10000 76C37FFF 00028000
2008-03-27 09:34:54.76 spid74 * dssenh 68100000 68126FFF 00027000
2008-03-27 09:34:54.76 spid74 * hnetcfg 63DA0000 63DF9FFF 0005a000
2008-03-27 09:34:54.76 spid74 * wshtcpip 71AE0000 71AE7FFF 00008000
2008-03-27 09:34:54.76 spid74 * NTMARTA 77E00000 77E20FFF 00021000
2008-03-27 09:34:54.76 spid74 * SAMLIB 7E020000 7E02EFFF 0000f000
2008-03-27 09:34:54.76 spid74 * ntdsapi 766F0000 76703FFF 00014000
2008-03-27 09:34:54.76 spid74 * xpsp2res 63F40000 64204FFF 002c5000
2008-03-27 09:34:54.76 spid74 * CLBCatQ 777B0000 77832FFF 00083000
2008-03-27 09:34:54.76 spid74 * sqlncli 64210000 64433FFF 00224000
2008-03-27 09:34:54.76 spid74 * COMCTL32 77530000 775C6FFF 00097000
2008-03-27 09:34:54.76 spid74 * comdlg32 762B0000 762F8FFF 00049000
2008-03-27 09:34:54.76 spid74 * SQLNCLIR 007C0000 007F2FFF 00033000
2008-03-27 09:34:54.76 spid74 * msftepxy 64670000 64684FFF 00015000
2008-03-27 09:34:54.76 spid74 * xp_ctnhashproc 62910000 6292EFFF 0001f000
2008-03-27 09:34:54.76 spid74 * xplog70 63360000 6336BFFF 0000c000
2008-03-27 09:34:54.76 spid74 * xplog70 63380000 63382FFF 00003000
2008-03-27 09:34:54.76 spid74 * sqlvdi 645D0000 645F1FFF 00022000
2008-03-27 09:34:54.76 spid74 * xpstar90 630B0000 630F8FFF 00049000
2008-03-27 09:34:54.76 spid74 * SQLSCM90 633C0000 633C8FFF 00009000
2008-03-27 09:34:54.76 spid74 * ODBC32 64450000 6448CFFF 0003d000
2008-03-27 09:34:54.76 spid74 * BatchParser90 64490000 644AEFFF 0001f000
2008-03-27 09:34:54.76 spid74 * ATL80 7C630000 7C64AFFF 0001b000
2008-03-27 09:34:54.76 spid74 * odbcint 64DC0000 64DD6FFF 00017000
2008-03-27 09:34:54.76 spid74 * xpstar90 65330000 65355FFF 00026000
2008-03-27 09:34:54.76 spid74 * xpsqlbot 64DE0000 64DE5FFF 00006000
2008-03-27 09:34:54.76 spid74 * msxmlsql 78800000 788D4FFF 000d5000
2008-03-27 09:34:54.76 spid74 * msxml2 66030000 660DEFFF 000af000
2008-03-27 09:34:54.76 spid74 * msxml3 67040000 67156FFF 00117000
2008-03-27 09:34:54.76 spid74 * dbghelp 68930000 68A44FFF 00115000
2008-03-27 09:34:54.76 spid74 *
2008-03-27 09:34:54.76 spid74 * Edi: 62930000: 000000C8 00000187 EEFFEEFF 00001002 00000000 0000FE00
2008-03-27 09:34:54.76 spid74 * Esi: 1C3C2EE8: 010A50E8 00000001 1C3C2490 0000D333 1C3C2F10 1C3C2F08
2008-03-27 09:34:54.76 spid74 * Eax: 010A50E8: 010B7A71 01659AC6 01659ACE 018484D0 018484D8 01659ADE
2008-03-27 09:34:54.76 spid74 * Ebx: 00000000:
2008-03-27 09:34:54.76 spid74 * Ecx: 00000001:
2008-03-27 09:34:54.76 spid74 * Edx: 62930608: 00127668 FFFFFFFE 00000001 00000430 00000000 00000FA0
2008-03-27 09:34:54.76 spid74 * Eip: 7C80EEF0: 503B118B 56850F04 3B00031E 4E850FD6 8900031E 04488901
2008-03-27 09:34:54.76 spid74 * Ebp: 656DCD84: 00000020 6291ED76 62930000 00000000 1C3C2F08 3910C3B0
2008-03-27 09:34:54.76 spid74 * SegCs: 0000001B:
2008-03-27 09:34:54.76 spid74 * EFlags: 00010207: 47004900 5F005700 4F004C00 3D004300 3A004300 50005C00
2008-03-27 09:34:54.76 spid74 * Esp: 656DCCB4: 1C3C2F08 1C3C2F08 654E05E0 0100469B 656DCD74 78132C78
2008-03-27 09:34:54.76 spid74 * SegSs: 00000023:
2008-03-27 09:34:54.76 spid74 * *******************************************************************************
2008-03-27 09:34:54.76 spid74 * -------------------------------------------------------------------------------
2008-03-27 09:34:54.76 spid74 * Short Stack Dump
2008-03-27 09:34:54.77 spid74 7C80EEF0 Module(ntdll+0000EEF0)
2008-03-27 09:34:54.77 spid74 6291ED76 Module(xp_ctnhashproc+0000ED76)
2008-03-27 09:34:54.77 spid74 62911184 Module(xp_ctnhashproc+00001184)
2008-03-27 09:34:54.77 spid74 01660FEC Module(sqlservr+00660FEC)
2008-03-27 09:34:54.77 spid74 01662FCD Module(sqlservr+00662FCD)
2008-03-27 09:34:54.77 spid74 01662984 Module(sqlservr+00662984)
2008-03-27 09:34:54.77 spid74 01661920 Module(sqlservr+00661920)
2008-03-27 09:34:54.77 spid74 01661E2E Module(sqlservr+00661E2E)
2008-03-27 09:34:54.77 spid74 01C1BF0C Module(sqlservr+00C1BF0C)
2008-03-27 09:34:54.77 spid74 014B3FE1 Module(sqlservr+004B3FE1)
2008-03-27 09:34:54.77 spid74 012389B6 Module(sqlservr+002389B6)
2008-03-27 09:34:54.77 spid74 0123882D Module(sqlservr+0023882D)
2008-03-27 09:34:54.77 spid74 012386C2 Module(sqlservr+002386C2)
2008-03-27 09:34:54.77 spid74 010227F3 Module(sqlservr+000227F3)
2008-03-27 09:34:54.77 spid74 010293B5 Module(sqlservr+000293B5)
2008-03-27 09:34:54.77 spid74 010286DC Module(sqlservr+000286DC)
2008-03-27 09:34:54.77 spid74 01032A36 Module(sqlservr+00032A36)
2008-03-27 09:34:54.77 spid74 0102F1F4 Module(sqlservr+0002F1F4)
2008-03-27 09:34:54.77 spid74 010077A6 Module(sqlservr+000077A6)
2008-03-27 09:34:54.77 spid74 010078CC Module(sqlservr+000078CC)
2008-03-27 09:34:54.77 spid74 010075DC Module(sqlservr+000075DC)
2008-03-27 09:34:54.77 spid74 010B94A5 Module(sqlservr+000B94A5)
2008-03-27 09:34:54.77 spid74 010B939C Module(sqlservr+000B939C)
2008-03-27 09:34:54.77 spid74 010B9064 Module(sqlservr+000B9064)
2008-03-27 09:34:54.79 spid74 010B9201 Module(sqlservr+000B9201)
2008-03-27 09:34:54.79 spid74 781329BB Module(MSVCR80+000029BB)
2008-03-27 09:34:54.79 spid74 78132A47 Module(MSVCR80+00002A47)
2008-03-27 09:34:54.79 spid74 Stack Signature for the dump is 0xD5652648
2008-03-27 09:34:56.31 spid74 External dump process return code 0x20002001.
The error information has been submitted to Watson error reporting.
2008-03-27 09:34:56.31 spid74 Error: 18002, Severity: 20, State: 1.
2008-03-27 09:34:56.31 spid74 Exception happened when running extended stored procedure 'xp_ctnhash' in the library 'xp_ctnhashproc.dll'. SQL Server is terminating process 74. Exception type: Win32 exception; Exception code: 0xc0000005.
View 5 Replies
View Related
Jul 20, 2005
My understanding is that in a stored procedure (or any code for thatmatter) if an error occurs you can detect it by checking @@errorvariable and raise your own error with raiserror statement.The problem is that the original error is not suppressed. For exampleI received the following output from a stored procedure from the sameerror:Server: Msg 547, Level 16, State 1, Procedure spUpdateSecurityMaster,Line 49INSERT statement conflicted with COLUMN FOREIGN KEY constraint'FK_SM_mm_Exchange_Exchanges'. The conflict occurred in database'Trading', table 'Exchanges', column 'IsoCode'.Server: Msg 50000, Level 14, State 1, ProcedurespUpdateSecurityMaster, Line 57Unable to insert into "SM_mm_Exchange" tableThe statement has been terminated.So why should we bother to use raiseerror if the orginal error isgoing to be given to the client anyways? The end result is two errormessages.
View 4 Replies
View Related
Jul 20, 2005
Hi everybody,I need to trap error messages in my stored procedures and log them. I canuse @@ERROR global variable to get the error code and look it up insysmessages table to get the description. Then using xp_logevent I log theerror.The problem is this description needs to be formatted. For example if I tryto insert NULL into a column which is not nullable, I'll get error #515. Thedescription of error #515 in sysmessages is:Cannot insert the value NULL into column '%.*ls', table '%.*ls'; columndoes not allow nulls. %ls fails.Is there a way to get the formatted message? What is the best approach totrap errors, filter them, add some additional information to the message andsend it to server's event logger?TIA,Shervin
View 6 Replies
View Related
Jul 20, 2005
Hi everyone,How do I get the error message?I have a very long sproc that needs to be done in one transaction. Ihave an error happening somewhere in the middle, but with a low enoughseverity it doesn't terminate the procedure. To make sure I don'tmiss any errors, I am storing @@error after every statement:If @Error<=@@error Set @Error=@@errorthat way at the end I can say if @error<>0 rollback trans.How do I get the error message? I have the number, and what I getfrom sysmessages has the wildcards in it %d and so on.Also , I can't use Xact_Abort, the web user permissions don't allowit.Or better yet is there a better way to do this? Sql has@@total_errors - since the server was started, how about since thetransaction or the sproc was started.Thanks a tonPachydermitis
View 1 Replies
View Related
Mar 12, 2008
Hi
I am trying to populate an SQL DB via ODBC. If this connection fails ie SQL server crashes, the data is then written to a local ACCESS table.
To do this I need to look at the SQLExec result code.
what are the error codes for comunication failure and duplicate record? They seem to be the same '307'
The duplicates need to be logged to another table so they are not lost.
Heres the code
IF SQLDBConnectError = 0 THEN //Log to SQL
IF lhSQL1 <> -1 THEN // SQL Connection OK
lsSQL1 = "INSERT INTO " + sTable2Use + sPostFix + " (TagnameKey,TimeDate,Tagname,EngValue,ImportInfo,Comment,NZDSTOffset) VALUES ('" + lsKey +"','" + lsSQLDate + "','" + sTagname + "','" + lsEngValue + "','" + sInfo + "','" + sComment + "','" + sUTCOffset+"')"
lnResult1 = SQLExec(lhSQL1, lsSQL1);
lsSQLErr1 = SQLErrMsg();
IF (lnResult1 <> 0) AND (lnResult1 <> 307) THEN
lnReturn1 = 1;
SQLEnd(lhSQL1);
SQLConnectionActive=0; !Display Connection Status on Screen
WCSSQLDBConnectError = 1; !Force to Access logging
SQLDisconnect(lhSQL); !Close SQL DB Connection
END!If;
IF (lnResult1 =307) THEN
lnReturn1 = 1;
SQLEnd(lhSQL1)
// Insert into Duplicates table (no Primary Keys)
lsSQL1 = "INSERT INTO NSCC_CitectDup " + sPostFix + " (TagnameKey,TimeDate,Tagname,EngValue,ImportInfo,Comment,NZDSTOffset) VALUES ('" + lsKey +"','" + lsSQLDate + "','" + sTagname + "','" + lsEngValue + "','" + sInfo + "','" + sComment + "','" + sUTCOffset+"')"
//lsSQL1 = "INSERT INTO NSCC_CitectDup" + sTable2Use + sPostFix + " (TagnameKey,TimeDate,Tagname,EngValue,ImportInfo,Comment) VALUES ('" + lsKey +"','" + lsSQLDate + "','" + sTagname + "','" + lsEngValue + "','" + sInfo + "','" + sComment +"')"
lnResult1 = SQLExec(lhSQL1, lsSQL1);
lsSQLErr1 = SQLErrMsg();
SQLEnd(lhSQL1)
END!If;
SQLEnd(lhSQL1);
ELSE
SQLConnectionActive=0;
SQLDBConnectError = 1;
END
END
Regards
Eugene
View 1 Replies
View Related
Aug 2, 2007
[OLE DB Destination [255]] Error: The "input "OLE DB Destination Input" (268)" failed because error code 0xC020907B occurred, and the error row disposition on "input "OLE DB Destination Input" (268)" specifies failure on error. An error occurred on the specified object of the specified component.
I've condensed the useful information in the statement down to the following:
"An error occured."
I'd like to also provide a plain english paraphrase.
An error occured somewhere to something. This means that something somewhere didn't work right. The cause of the thing not working right is an error of some sort. We'd like to provide you with the following piece of diagnostic information: we know that an error occured somewhere to something because the error row disposition tells us this. We hope that helps. Thank you, and have a nice day.
Now, could anyone translate this into Klingon? I think it would be easier to understand and just as useful.
View 2 Replies
View Related
Feb 20, 2008
Hi,
I'm storing errorcode and errorcolumn values in a separate table called errorrows, I am using the standard ssis add-on reporting package including the logging database.
When using the OLE DB destination adapter I would like to log the error message (reason).
These kind of messages are OLE DB specific and won't be logged in my standard logging (error rows and package logging).
Is it possible to catch the ole DB error message so I'm able to log it?
View 1 Replies
View Related
Nov 28, 2007
Hi
Can somebody help me how can I capture the exact error message instead of SystemMessages
Ex:
Msg 208, Level 16, State 1, Line 2
Invalid object name 'dbo.Table1'.
Instead of
Invalid object name '%.*ls'.
I tried using Try Catch but no use
Ex:
BEGIN TRY
select * from dbo.Table1
END TRY
BEGIN CATCH
INSERT INTO dbo.ErrorLog values (ERROR_MESSAGE() )
END CATCH
Msg 208, Level 16, State 1, Line 2
Invalid object name 'dbo.Table1'.
Strangely it does work if i try to use some other query.
Ex:
BEGIN TRY
Truncate Table dbo.NoPlayEvent_3
END TRY
BEGIN CATCH
INSERT INTO dbo.ErrorLog values (ERROR_MESSAGE() )
END CATCH
(1 row(s) affected)
REQUIREMENT:
To write a query which will try to do some stuff ( Insert/ Update/ delte/ truncate/ select etc..). If its not able to do and if an error is raised capture the error message in a table and with out quiting the SPROC skip it and go for next line of code.
i.e, if an error occurs just skip it while capturing the error and go for next line.
Also advice me how can I do muliple Try Catch
I appreciate your all time
Thanks a lot in advance
View 4 Replies
View Related
Aug 4, 2007
Hello I keep getting Various database connections in MSMSE.
The error is
Micorosoft SQL server management studio express error
TITLE: Microsoft SQL Server Management Studio Express
------------------------------
Failed to retrieve data for this request. (Microsoft.SqlServer.Express.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
Could not load file or assembly 'Microsoft.SqlServer.Express.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) (Microsoft.SqlServer.Express.ConnectionInfo)
------------------------------
Strong name validation failed. (Exception from HRESULT: 0x8013141A)
------------------------------
BUTTONS:
OK
------------------------------
I just opened CMD. and did the following
Command Prompt
cd D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBinn
sqlservr.exe -s
and it returned the following
Error : 17112, Severity : 16, State: 1. The error is printed in terse mode because there was error durring formatting. Tracing, ETW, Notifications etc are skipped.
kk so what can I do?
View 1 Replies
View Related
Sep 4, 2007
I have translated my ReportViewer by setting myReportViewer.Messages to my own implementation. This helps me with the translation of most of the interface. However, errormessages such as
"The value provided for the report parameter 'SomeDateParameter' is not valid for it's type"
is not translated. Is there any way to fix the translation of such error messages?
Regards Andreas
View 1 Replies
View Related
Oct 5, 2001
Hi
Can we supress the System error messages ?
if yes how ?
for ex. In a table I am adding a row which is voilating primary key constarint ..I do not want system message for that ..
Server: Msg 2627, Level 14, State 1, Line 0
Violation of PRIMARY KEY constraint 'PK_b'. Cannot insert duplicate key in object 'b'.
The statement has been terminated.
I can write a user defined message for this purpose but I am not able to supress system message .
The procedure I am using is
CREATE PROCEDURE add_b
@num int,@empno int, @name varchar(6)
AS
INSERT INTO B (num, empno, ds ) values (@num,@empno,@name)
-- Test the error value.
IF @@ERROR <> 0
BEGIN
-- Return 99 to the calling program to indicate failure.
RAISERROR ('Job id 1 expects the default level of 10.', 16, 1)
PRINT "An error occurred loading the new author information"
RETURN(99)
END
ELSE
BEGIN
-- Return 0 to the calling program to indicate success.
PRINT "The new author information has been loaded"
RETURN(0)
END
GO
Sujit
View 2 Replies
View Related
Jun 10, 2004
I'm using a unique index on a table with ignore_dup_key to get around using distinct in a stored procedure. In Query analyser, when I issue the stored procedure, you get a message and also the data in the Grid. In a stored procedure call, initiated from MS Access, the message means I have to put additional client side programming to work around it. I know that duplicate keys are ignored; that is why I've created the table with this feature (unique index in combination with ignore_dup_key). So what's with the message. If I delete the Error message 3604 will I still get an error message?
View 6 Replies
View Related