Handling A SQL Exceptions And Custom Error Messages
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
ADVERTISEMENT
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
View Related
Apr 21, 2006
1) We are writing a custome Source component for Oracle with OCI calls, Could some one please let me know how to Enable Error Handling for the Same,
2) Is it possible to write Custome Error Handeling Component for SSIS? if yes could you please help me on how to write it.
Thanks in advance.
View 1 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
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
Sep 28, 2007
Hi there,
We are running into problems using CLR stored procedure in SQL Server 2005.
We are using a transaction scope (ambient transaction).
If an SQL exception with class 16 is thrown, and this exception is directly caught (and handled) then the transaction is somehow no longer valid.
Subsequent use of this transaction gives the message "The current transaction cannot be committed and cannot support operations that write to the log file. Rollback the transaction".
Is there a way to gracefully handle the SqlException and continue the transaction?
Regards,
Frans Z. and Rine le C.
View 1 Replies
View Related
Jan 4, 2008
Dear All!
I develop a SSIS package. In this package, I use "OLE DB Connection" to connect to server. And I use SQL Task to insert data into database. I want to catch an error when connection is false to write custom error to log file. Somebody can help me how to catch this error?
Thanks & Rgds
View 4 Replies
View Related
Nov 12, 2007
Hi all,
We are displaying an SQL Server 2005 Reporting Services report in our ASP.NET 1.1 application by accessing the report through URL and embedding the same in an iframe HTML web control. The user can export the report contents into CSV format by making use of the export functionality provided by Reporting Services.
Now we have been asked to display a warning mesage to the user when the no. of records in the report exceeds 1 million i.e. if the no. of records in the report exceeds 1 million and the user tries to export the report to CSV format by clicking on the "Exprot" link button, we need to display a warning message to the user.
My doubt is whether this can be done in Reporting Services. Are there any programmatic interfaces exposed by Reporting Services which might help us implement this requirement ?
Thanks,
CodeKracker.
View 4 Replies
View Related
Jan 9, 2006
Friends,
First off, congrats and thank you to everyone at Microsoft for all of the hard work they have put into Sql Server 2005 and .NET 2.0 - it is simply amazing technology.
On that note, I was wondering if it was possible to create my own custom exceptions that I can throw in my stored procedures and then catch in my application code?
For example, say I wanted to create a Custom Sql Exception called "DuplicateEmailInSqlDatabaseTableException" and then, within a stored procedure where data is being attempted to be inserted, I could check for a duplicate email record and then throw the exception. At that point, I would like to be able to catch that exception in my C# data layer and work from there.
Is this possible? I feel like it could be but am unsure where to start.
Shaun C McDonnell
View 5 Replies
View Related
Jul 28, 2005
In the "Example: Detecting a Poison Message" section, it reads: This Transact-SQL example shows a simple, stateless service that includes logic for handling poison messages. Before the stored procedure receives a message, the procedure saves the transaction. When the procedure cannot process a message, the procedure rolls the transaction back to the save point. The partial rollback returns the message to the queue while continuing to hold a lock on the conversation group for the message.
View 1 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
Dec 5, 2007
Hi All,
As Jamie Thomson has written:
http://blogs.conchango.com/jamiethomson/archive/2005/06/11/SSIS_3A00_-Custom-Logging-Using-Event-Handlers.aspx
'...we can attach an event handler to the package...and this one event handler will catch all events raised of that event type by every container in the package...'
Fine. Now what I want to do is catch all OnInformation events generated for the package, and disgard all apart from a subset, whose message contains a particular string. So the Q is, how do I/can I interrogate the message for the event that my handler has just caught?
Michael Coles has come up with a neat method of overriding sp_dts_addlogentry, (http://blogs.sqlservercentral.com/blogs/michael_coles/archive/2007/10/09/3012.aspx), but I want to do this within the package, not outside, to avoid the change becoming global to every package writing to the same sysdtslog90.
Hope this is poss.,
View 4 Replies
View Related
Oct 5, 2006
Hello everyone,
i'm using a foreach loop container to read a group of excel files and pass their information to a Sql Server database. The process runs well but sometimes there could be some excel files that may not be processed correctly so i'm using transacctions to continue to process on the other files, But i'd like to generate a message everytime an excel file is or not processed. I thought that i could generate a flat file to do it, but is there any other way to accomplish this? I'm also generating a log file (on xml format), but It seems too much information for an end-user.
any suggestions?
regards.
View 2 Replies
View Related
Mar 19, 2008
Hi,
Please suggest me the approach for handling the below custom validation in SSIS
Source: A Table in the database
Destination: One or More Tables in the database
Transformation:For each record in the source table, I have to do custom validation and redirect to one of the destination tables
Custom validation for each record include
1. Checking a set of fields are not matching with main record data in database - If so move to a duplicatelist table
2. Checking for set of fields have got any new values - If so make an entry in a newvaluesfound table
3. If no new/duplicate found move to success table
Approach 1
An OLEdb Source Task to point the source table
An OLEdb Transformation to call an SP for each record in the source
Concerns
The Transformation is implemented in SP(Custom validation & loading to destination)
Approach 2
An Script task from the control flow items - To call an SP in the database
Concerns
The Source, Transformation, Destination - everything managed in the SP
Suggestions needed
Is there any better approach of handling this type of requirement in SSIS
If I write all the code in SP, I may need to use cursors for looping through each record..
Thanks & Regards,
Kalyan
View 4 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
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
Jul 20, 2005
Hi All,I want to catch the next MSSQL error in my SQL code with following continuecalculationsServer: Msg 17, Level 16, State 1, Line 1SQL Server does not exist or access denied.If REMOTE_SERVER_1 is inaccessible (as in (a) below) the executing of SQLwill not continue with (b) - I need the code in (b) to run despite whetherthe previous exec was successful or not - Any ideas?begin transaction(a) exec REMOTE_SERVER_1...bankinsert '1' , '1' , 1 , 0 , 0(b) print @@errorcommit transactionwhere REMOTE_SERVER_1 is link to server created byEXEC sp_addlinkedserver @server = 'REMOTE_SERVER_1', @srvproduct = '',@provider = 'SQLOLEDB', @datasrc = 'MYCOMP1', @catalog = 'mirror2'EXEC sp_addlinkedsrvlogin @rmtsrvname = 'REMOTE_SERVER_1', .....Exec sp_serveroption 'REMOTE_SERVER_1', 'data access', 'true'Exec sp_serveroption 'REMOTE_SERVER_1', 'rpc', 'true'Exec sp_serveroption 'REMOTE_SERVER_1', 'rpc out', 'true'Exec sp_serveroption 'REMOTE_SERVER_1', 'collation compatible', 'true'Any help will be greatly appreciated
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
Nov 1, 1999
Hello,
I would like to supress an Informational error that SQL is returning when I run a stored proc that I created. The error message returned is:
Warning: Null value eliminated from aggregate.
The values returned from the stored proc are the results from a 'select * from #tmp_tbl". Before returning the values, I simply create the temp table, populate it and then run the select statement. Prior to getting my results, I get the error message. Can I suppress it and how?
Thank you.
View 1 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