Problema con captura de errores entre SQL(RAISERROR) y VB6

04/05/2005 - 19:08 por ROLANDOCC | Informe spam
Saludos,

resulta que tengo en sql server unos procedimientos q generan errores
A PROPOSITO, para comprobar la rutina de manejo de errores, dicho
procedimiento
genera estos dos errores:

Server: Msg 515, Level 16, State 2, Line 23
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL
into column 'Mov_Id', table 'ld_operacion.dbo.Mov_Inventario_Detalle'; column
does not allow nulls. INSERT fails.
Server: Msg 50000, Level 16, State 1, Line 295
[Microsoft][ODBC SQL Server Driver][SQL Server]Aplica_Remarca_Costos:2 > No
se creó correctamente el detalle de los movimientos

el primero lo captura sql server, el segundo lo provoco yo mediante un
RAISERROR(@v_error_msg,16,1)
en donde @v_error_msg contiene la descripción del error.

Hasta aquí todo bien, pero resulta que cuando capturo los errores desde VB6
mediante el objeto conexion.errors() solo está el primero y no el mío.
Que tengo que hacer para que dentro de la coleccion de errores también quede
mi error ???
Gracias!

Utilizo VB 6 con SP6 y
para la conexion un DataEnviroment que es el que ejecuta el SP
Me conecto a SQL SERVER 2000 con todas las actualizaciones al dia


Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»



Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»

Preguntas similare

Leer las respuestas

#1 Miguel Egea
04/05/2005 - 23:23 | Informe spam
Ado da una colección de errores, creo recordar que esn errors puedes hacer
un for each...

Suerte

Miguel Egea
Microsoft SQL-Server MVP
http://www.portalsql.com
Brigada Anti-cursores
"ROLANDOCC" escribió en el mensaje
news:
Saludos,

resulta que tengo en sql server unos procedimientos q generan errores
A PROPOSITO, para comprobar la rutina de manejo de errores, dicho
procedimiento
genera estos dos errores:

Server: Msg 515, Level 16, State 2, Line 23
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value
NULL
into column 'Mov_Id', table 'ld_operacion.dbo.Mov_Inventario_Detalle';
column
does not allow nulls. INSERT fails.
Server: Msg 50000, Level 16, State 1, Line 295
[Microsoft][ODBC SQL Server Driver][SQL Server]Aplica_Remarca_Costos:2 >
No
se creó correctamente el detalle de los movimientos

el primero lo captura sql server, el segundo lo provoco yo mediante un
RAISERROR(@v_error_msg,16,1)
en donde @v_error_msg contiene la descripción del error.

Hasta aquí todo bien, pero resulta que cuando capturo los errores desde
VB6
mediante el objeto conexion.errors() solo está el primero y no el mío.
Que tengo que hacer para que dentro de la coleccion de errores también
quede
mi error ???
Gracias!

Utilizo VB 6 con SP6 y
para la conexion un DataEnviroment que es el que ejecuta el SP
Me conecto a SQL SERVER 2000 con todas las actualizaciones al dia


Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»



Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»


Respuesta Responder a este mensaje
#2 ROLANDOCC
04/05/2005 - 23:41 | Informe spam
si, ya eso lo se, el problema es que el error no queda dentro de la
coleccion, no importa la forma
como la recorra

"Miguel Egea" wrote:

Ado da una colección de errores, creo recordar que esn errors puedes hacer
un for each...

Suerte

Miguel Egea
Microsoft SQL-Server MVP
http://www.portalsql.com
Brigada Anti-cursores
"ROLANDOCC" escribió en el mensaje
news:
> Saludos,
>
> resulta que tengo en sql server unos procedimientos q generan errores
> A PROPOSITO, para comprobar la rutina de manejo de errores, dicho
> procedimiento
> genera estos dos errores:
>
> Server: Msg 515, Level 16, State 2, Line 23
> [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value
> NULL
> into column 'Mov_Id', table 'ld_operacion.dbo.Mov_Inventario_Detalle';
> column
> does not allow nulls. INSERT fails.
> Server: Msg 50000, Level 16, State 1, Line 295
> [Microsoft][ODBC SQL Server Driver][SQL Server]Aplica_Remarca_Costos:2 >
> No
> se creó correctamente el detalle de los movimientos
>
> el primero lo captura sql server, el segundo lo provoco yo mediante un
> RAISERROR(@v_error_msg,16,1)
> en donde @v_error_msg contiene la descripción del error.
>
> Hasta aquí todo bien, pero resulta que cuando capturo los errores desde
> VB6
> mediante el objeto conexion.errors() solo está el primero y no el mío.
> Que tengo que hacer para que dentro de la coleccion de errores también
> quede
> mi error ???
> Gracias!
>
> Utilizo VB 6 con SP6 y
> para la conexion un DataEnviroment que es el que ejecuta el SP
> Me conecto a SQL SERVER 2000 con todas las actualizaciones al dia
>
>
> Saludos desde Costa Rica! : )
>
> DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
> ninguna indole, y no otorga ningún derecho.»
>
>
>
> Saludos desde Costa Rica! : )
>
> DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
> ninguna indole, y no otorga ningún derecho.»
>
>



Respuesta Responder a este mensaje
#3 Alejandro Mesa
05/05/2005 - 15:52 | Informe spam
Por que usas ODBC?. Trata usando SQLOLEDB provider y recuerda poner SET
NOCOUNT ON como primera sentencia en el procedimiento almacenado.


AMB

"ROLANDOCC" wrote:

Saludos,

resulta que tengo en sql server unos procedimientos q generan errores
A PROPOSITO, para comprobar la rutina de manejo de errores, dicho
procedimiento
genera estos dos errores:

Server: Msg 515, Level 16, State 2, Line 23
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL
into column 'Mov_Id', table 'ld_operacion.dbo.Mov_Inventario_Detalle'; column
does not allow nulls. INSERT fails.
Server: Msg 50000, Level 16, State 1, Line 295
[Microsoft][ODBC SQL Server Driver][SQL Server]Aplica_Remarca_Costos:2 > No
se creó correctamente el detalle de los movimientos

el primero lo captura sql server, el segundo lo provoco yo mediante un
RAISERROR(@v_error_msg,16,1)
en donde @v_error_msg contiene la descripción del error.

Hasta aquí todo bien, pero resulta que cuando capturo los errores desde VB6
mediante el objeto conexion.errors() solo está el primero y no el mío.
Que tengo que hacer para que dentro de la coleccion de errores también quede
mi error ???
Gracias!

Utilizo VB 6 con SP6 y
para la conexion un DataEnviroment que es el que ejecuta el SP
Me conecto a SQL SERVER 2000 con todas las actualizaciones al dia


Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»



Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida