Friday, February 17, 2012

different behaviour of SQL Server 2000 errors dependent on windows OS

I am having a problem inserting data into a database table. There is a
stored procedure that is attempting to insert data into several tables, if
there is a duplicate entry already exists in the table then a unique key
violation is thrown back from sql server (2000) to the data access layer.
The data access layer then processes the sql exceptions and check the error
codes and the number of sql errors that occurred. If the error codes and
number of exceptions are the expected number and expected type then the
exception is surpressed and processing continues, BUT if the number of
exceptions or the number of the sql error is different then the exception is
propagated up the stack. (I didn't design this )
Development environment is XP Pro (2002) SP1 - .Net Framework 1.1
Production\Test environment is Windows 2003 (Standard Edition) - .Net
Framework 1.1
both machines are accessing the same physical database.
So in development we get 4 exceptions back with the expected error codes and
in production\test we get back 1 error. Can anyone explain why?
Is there a setting somewhere in the registry to affect how sql server errors
are processed by the native database access driver on the client machine?
Am I loosing the plot? - YES
As far as I can see this is NOT an .Net framework issue but an issue with
error propagatation\processing with the server installation of sql server
2000
Cheers
Ollie Riches
http://www.phoneanalyser.net
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a programmer
helping programmers.FYI
When the stored procedure calls RAISERROR the severity level is 16.
Ollie
"Ollie Riches" <ollie.riches@.phoneanalser.net> wrote in message
news:uQb9AumHFHA.2976@.TK2MSFTNGP15.phx.gbl...
> I am having a problem inserting data into a database table. There is a
> stored procedure that is attempting to insert data into several tables, if
> there is a duplicate entry already exists in the table then a unique key
> violation is thrown back from sql server (2000) to the data access layer.
> The data access layer then processes the sql exceptions and check the
error
> codes and the number of sql errors that occurred. If the error codes and
> number of exceptions are the expected number and expected type then the
> exception is surpressed and processing continues, BUT if the number of
> exceptions or the number of the sql error is different then the exception
is
> propagated up the stack. (I didn't design this )
> Development environment is XP Pro (2002) SP1 - .Net Framework 1.1
> Production\Test environment is Windows 2003 (Standard Edition) - .Net
> Framework 1.1
> both machines are accessing the same physical database.
> So in development we get 4 exceptions back with the expected error codes
and
> in production\test we get back 1 error. Can anyone explain why?
> Is there a setting somewhere in the registry to affect how sql server
errors
> are processed by the native database access driver on the client machine?
> Am I loosing the plot? - YES
> As far as I can see this is NOT an .Net framework issue but an issue with
> error propagatation\processing with the server installation of sql server
> 2000
> Cheers
> Ollie Riches
> http://www.phoneanalyser.net
> Disclaimer: Opinions expressed in this forum are my own, and not
> representative of my employer.
> I do not answer questions on behalf of my employer. I'm just a programmer
> helping programmers.
>
>
>

No comments:

Post a Comment