Error con la configuración de ARITHABORT

18/03/2009 - 13:29 por DARweb.es | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_0069_01C9A7CD.96D36360

Hola a todos

Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000

Tengo un procedimiento almacenado de lo más simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes había visto:
Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a añadir al procedimiento almacenado la sentencia:
SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación .NET da error (el usuario SQL es el mismo)?

Muchas gracias desde ya

Saludos

XTV
www.darweb.es

blog.darweb.es

=_NextPart_000_0069_01C9A7CD.96D36360

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16809" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV dir=ltr><FONT face=Calibri>Hola a todos<BR><BR>Estoy muy confundido con
este error que tengo entre VB.Net 2003 y SQL Server 2000<BR><BR>Tengo un
procedimiento almacenado de lo más simple; solo contiene un DELETE y una
variable; si lo ejecuto <U>desde el Analizador de Consultas funciona a la
perfección</U>; pero <STRONG><U>desde la aplicación VB.Net me da un curioso
error</U></STRONG> que nunca antes había visto:</FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT face=Calibri color=#0000ff>Error de DELETE porque las siguientes
opciones SET tienen una configuración incorrecta:
'ARITHABORT'</FONT></DIV></BLOCKQUOTE>
<DIV dir=ltr><FONT face=Calibri>He estado buscando información sobre este
mensaje de error, pero no he visto mucho.&nbsp; He probado a añadir al
procedimiento almacenado la sentencia:</FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT face=Calibri><FONT color=#3366ff>SET ARITHABORT
ON</FONT>&nbsp;&nbsp;&nbsp;&nbsp; y como continuó sin funcionar también probé
poniéndolo en <FONT color=#3366ff>OFF</FONT>; pero nada , el mismo mensaje de
error en ambos casos</FONT></DIV></BLOCKQUOTE>
<DIV dir=ltr><FONT face=Calibri>¿Cómo puedo superar este problema?, ¿por qué me
pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación
.NET da error (el usuario SQL es el mismo)?</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri>Muchas gracias desde ya</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri>Saludos</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri color=#339966>XTV</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial size=2><FONT
color=#008000><FONT face=Calibri
size=3>--<BR></FONT><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el vínculo"
href="http://www.darweb.es/"><FONT
title="http://www.darweb.es/&#10;CTRL + clic para seguir el vínculo"
face=Calibri size=3>www.darweb.es</FONT></A></FONT></P>
<DIV><FONT face=Calibri size=3><A
title="http://blog.darweb.es/&#10;CTRL + clic para seguir el vínculo"
href="http://blog.darweb.es/">blo...;/FONT>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV></FONT></DIV></BODY></HTML>

=_NextPart_000_0069_01C9A7CD.96D36360--

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
18/03/2009 - 14:01 | Informe spam
Por casualidad tienes alguna column calculada que forma parte de un indice,
en esa tabla?


AMB

"DARweb.es" wrote:

Hola a todos

Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000

Tengo un procedimiento almacenado de lo más simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes había visto:
Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a añadir al procedimiento almacenado la sentencia:
SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación ..NET da error (el usuario SQL es el mismo)?

Muchas gracias desde ya

Saludos

XTV
www.darweb.es

blog.darweb
Respuesta Responder a este mensaje
#2 DARweb.es
18/03/2009 - 14:30 | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_0114_01C9A7D6.0C40C0E0

No; no tengo nada similar.

Lo mà¡s "raro" que hago es que la tabla de la que quiero borrar se encuentra en una BD distinta de la que contiene el procedimiento almacenado. No obstante, esto mismo lo he he hecho otras veces sin ningàºn problema, aparte de que al funcionar desde el Analizador de consultas entiendo que el problema debe ser otro.

El contenido del procedimiento es este:

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ARITHABORT ON
Go

Create procedure spDelFormasPagoPreConfiguradasEnSage_ByCodComercio
@CodComercio as varchar(5)
AS

SET NOCOUNT ON


DELETE FROM Sage100.dbo.F_REGLEMENTT WHERE (CT_Num = @CodComercio)


GO
SET ARITHABORT OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Muchas gracias por el aporte
Saludos

XTV
-
www.darweb.es

blog.darweb.es



From: "Alejandro Mesa"
Sent: Wednesday, March 18, 2009 2:01 PM
Newsgroups: microsoft.public.es.sqlserver
Subject: RE: Error con la configuración de ARITHABORT

Por casualidad tienes alguna column calculada que forma parte de un indice,
en esa tabla?


AMB

"DARweb.es" wrote:

Hola a todos

Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000

Tengo un procedimiento almacenado de lo mà¡s simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes habà­a visto:
Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a aà±adir al procedimiento almacenado la sentencia:
SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación ..NET da error (el usuario SQL es el mismo)?

Muchas gracias desde ya

Saludos

XTV
www.darweb.es

blog.darweb





=_NextPart_000_0114_01C9A7D6.0C40C0E0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16809" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=Calibri>No; no tengo nada similar.<BR><BR>Lo mà¡s "raro" que hago
es que la tabla de la que quiero borrar se encuentra en una BD distinta de la
que contiene el procedimiento almacenado. No obstante, esto mismo lo he he hecho
otras veces sin ningàºn problema, aparte de que al funcionar desde el Analizador
de consultas entiendo que el problema debe ser otro.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>El contenido del procedimiento es este:</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT face=Calibri color=#3366ff size=2>SET QUOTED_IDENTIFIER ON
<BR>GO<BR>SET ANSI_NULLS ON <BR>GO<BR>SET ARITHABORT ON<BR>Go</FONT></DIV>
<DIV><FONT color=#3366ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri color=#3366ff size=2>Create procedure
spDelFormasPagoPreConfiguradasEnSage_ByCodComercio<BR>&nbsp;&nbsp;&nbsp;
@CodComercio as varchar(5)<BR>AS</FONT></DIV>
<DIV><FONT color=#3366ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri color=#3366ff size=2>SET NOCOUNT
ON<BR>&nbsp;</FONT></DIV>
<DIV><FONT color=#3366ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri color=#3366ff size=2>&nbsp;DELETE FROM
Sage100.dbo.F_REGLEMENTT WHERE (CT_Num = @CodComercio)</FONT></DIV>
<DIV><FONT color=#3366ff size=2></FONT>&nbsp;</DIV><FONT face=Calibri>
<DIV><BR><FONT color=#3366ff size=2>GO<BR>SET ARITHABORT OFF<BR>GO<BR>SET
QUOTED_IDENTIFIER OFF <BR>GO<BR>SET ANSI_NULLS ON
<BR>GO</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>Muchas gracias por el aporte</DIV>
<DIV>
<DIV dir=ltr><FONT face=Calibri>Saludos</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Calibri color=#339966>XTV</FONT></DIV><FONT
face=Calibri>
<P class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial
size=2><FONT color=#008000><FONT face=Calibri
size=3>-<BR><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="http://www.darweb.es/">www....A><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="http://www.darweb.es/"><...T><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="about:www.darweb.es"><FONT
title="www.darweb.es&#10;CTRL + clic para seguir el và­nculo" face=Calibri
size=3></FONT></A></FONT></P>
<DIV dir=ltr><FONT face=Calibri size=3><A
title="http://blog.darweb.es/&#10;CTRL + clic para seguir el và­nculo"
href="http://blog.darweb.es/">blo...;/FONT>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV></FONT></FONT></DIV>
<DIV><FONT
face=Calibri></FONT><BR><BR>--<BR>From:
"Alejandro Mesa" &lt;&gt;<BR>Sent:
Wednesday, March 18, 2009 2:01 PM<BR>Newsgroups:
microsoft.public.es.sqlserver<BR>Subject: RE: Error con la configuración de
ARITHABORT<BR><BR>&gt; Por casualidad tienes alguna column calculada que forma
parte de un indice, <BR>&gt; en esa tabla?<BR>&gt; <BR>&gt; <BR>&gt; AMB<BR>&gt;
<BR>&gt; "DARweb.es" wrote:<BR>&gt; <BR>&gt;&gt; Hola a todos<BR>&gt;&gt;
<BR>&gt;&gt; Estoy muy confundido con este error que tengo entre VB.Net 2003 y
SQL Server 2000<BR>&gt;&gt; <BR>&gt;&gt; Tengo un procedimiento almacenado de lo
mà¡s simple; solo contiene un DELETE y una variable; si lo ejecuto desde el
Analizador de Consultas funciona a la perfección; pero desde la aplicación
VB.Net me da un curioso error que nunca antes habà­a
visto:<BR>&gt;&gt;&nbsp;&nbsp; Error de DELETE porque las siguientes opciones
SET tienen una configuración incorrecta: 'ARITHABORT'<BR>&gt;&gt; He estado
buscando información sobre este mensaje de error, pero no he visto mucho.&nbsp;
He probado a aà±adir al procedimiento almacenado la
sentencia:<BR>&gt;&gt;&nbsp;&nbsp; SET ARITHABORT ON&nbsp;&nbsp;&nbsp;&nbsp; y
como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el
mismo mensaje de error en ambos casos<BR>&gt;&gt; ¿Cómo puedo superar este
problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y
desde una aplicación ..NET da error (el usuario SQL es el mismo)?<BR>&gt;&gt;
<BR>&gt;&gt; Muchas gracias desde ya<BR>&gt;&gt; <BR>&gt;&gt;
Saludos<BR>&gt;&gt; <BR>&gt;&gt; XTV<BR>&gt;&gt;
blog.darweb<BR>&gt;</DIV></BODY></HTML>

=_NextPart_000_0114_01C9A7D6.0C40C0E0--
Respuesta Responder a este mensaje
#3 Alejandro Mesa
18/03/2009 - 14:52 | Informe spam
Alguna vista indexada que use a esta tabla?

Primero debemos saber por que esta dando el error, luego ver como arreglarlo.

El analizador de consultas prende, por defecto, un numero de opciones, tales
como:

- QUOTED_IDENTIFIER
- ANSI_NULL_DFLT_ON
- ANSI_PADDING
- ANSI_WARNINGS
- ANSI_NULLS
- CONCAT_NULL_YIELDS_NULL
- ARITHABORT

Si usas SQL Profiler para chequear lo que QA envia hacia el servidor, veras
que lo primero que envia, cuando creas una nueva conexion es el batch:

SET CONCAT_NULL_YIELDS_NULL ON
SET ARITHABORT ON
SET ANSI_NULLS ON
SET ANSI_NULL_DFLT_ON ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET QUOTED_IDENTIFIER ON

Trata de hacer lo mismo desde tu aplicacion, en cuanto abras la conexion,
envie ese batch antes de llamar al procedimiento.

Es requerimiento tener prendida la opcion ARITHABORT para ejecutar
sentencias DML sobre tablas que tienen columnas calculadas que forman parte
de un indice y/o vistas indexadas.

Opciones SET que afectan a los resultados
http://msdn.microsoft.com/es-es/library/ms175088(SQL.90).aspx


Se que usas SQL Server 2000, pero esto te puede servir de guia.


AMB

"DARweb.es" wrote:

No; no tengo nada similar.

Lo más "raro" que hago es que la tabla de la que quiero borrar se encuentra en una BD distinta de la que contiene el procedimiento almacenado. No obstante, esto mismo lo he he hecho otras veces sin ningún problema, aparte de que al funcionar desde el Analizador de consultas entiendo que el problema debe ser otro.

El contenido del procedimiento es este:

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ARITHABORT ON
Go

Create procedure spDelFormasPagoPreConfiguradasEnSage_ByCodComercio
@CodComercio as varchar(5)
AS

SET NOCOUNT ON


DELETE FROM Sage100.dbo.F_REGLEMENTT WHERE (CT_Num = @CodComercio)


GO
SET ARITHABORT OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Muchas gracias por el aporte
Saludos

XTV
-
www.darweb.es

blog.darweb.es



From: "Alejandro Mesa"
Sent: Wednesday, March 18, 2009 2:01 PM
Newsgroups: microsoft.public.es.sqlserver
Subject: RE: Error con la configuración de ARITHABORT

> Por casualidad tienes alguna column calculada que forma parte de un indice,
> en esa tabla?
>
>
> AMB
>
> "DARweb.es" wrote:
>
>> Hola a todos
>>
>> Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000
>>
>> Tengo un procedimiento almacenado de lo más simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes había visto:
>> Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
>> He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a añadir al procedimiento almacenado la sentencia:
>> SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
>> ¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación ..NET da error (el usuario SQL es el mismo)?
>>
>> Muchas gracias desde ya
>>
>> Saludos
>>
>> XTV
>> www.darweb.es
>>
>> blog
Respuesta Responder a este mensaje
#4 Maxi
18/03/2009 - 15:45 | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_004A_01C9A7C7.5E5CA470

Hola, pone una traza con el profiler para determinar las exepciones, ahi vas a tener que poner tsql startting asi ves donde marca el error y porque



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server


"DARweb.es" escribió en el mensaje de noticias:
Hola a todos

Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000

Tengo un procedimiento almacenado de lo más simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes había visto:
Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a añadir al procedimiento almacenado la sentencia:
SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación .NET da error (el usuario SQL es el mismo)?

Muchas gracias desde ya

Saludos

XTV
www.darweb.es

blog.darweb.es

=_NextPart_000_004A_01C9A7C7.5E5CA470

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.6001.18203" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=Calibri>Hola, pone una traza con el profiler para determinar las
exepciones, ahi vas a tener que poner tsql startting asi ves donde marca el
error y porque</FONT></DIV>
<DIV><BR>--
<BR><BR><BR>Maxi
Accotto<BR>Microsoft MVP en SQL Server<BR>Consultor en SQL
Server<BR><BR></DIV>
<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"DARweb.es" &lt;<A href="mailto:"></A>&gt;
escribió en el mensaje de
noticias:</DIV>
<DIV dir=ltr><FONT face=Calibri>Hola a todos<BR><BR>Estoy muy confundido con
este error que tengo entre VB.Net 2003 y SQL Server 2000<BR><BR>Tengo un
procedimiento almacenado de lo más simple; solo contiene un DELETE y una
variable; si lo ejecuto <U>desde el Analizador de Consultas funciona a la
perfección</U>; pero <STRONG><U>desde la aplicación VB.Net me da un curioso
error</U></STRONG> que nunca antes había visto:</FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT face=Calibri color=#0000ff>Error de DELETE porque las siguientes
opciones SET tienen una configuración incorrecta:
'ARITHABORT'</FONT></DIV></BLOCKQUOTE>
<DIV dir=ltr><FONT face=Calibri>He estado buscando información sobre este
mensaje de error, pero no he visto mucho.&nbsp; He probado a añadir al
procedimiento almacenado la sentencia:</FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT face=Calibri><FONT color=#3366ff>SET ARITHABORT
ON</FONT>&nbsp;&nbsp;&nbsp;&nbsp; y como continuó sin funcionar también
probé poniéndolo en <FONT color=#3366ff>OFF</FONT>; pero nada , el mismo
mensaje de error en ambos casos</FONT></DIV></BLOCKQUOTE>
<DIV dir=ltr><FONT face=Calibri>¿Cómo puedo superar este problema?, ¿por qué
me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una
aplicación .NET da error (el usuario SQL es el mismo)?</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri>Muchas gracias desde ya</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri>Saludos</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Calibri color=#339966>XTV</FONT></DIV>
<DIV dir=ltr><FONT face=Calibri>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial size=2><FONT
color=#008000><FONT face=Calibri
size=3>--<BR></FONT><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el vínculo"
href="http://www.darweb.es/"><FONT
title="http://www.darweb.es/&#10;CTRL + clic para seguir el vínculo"
face=Calibri size=3>www.darweb.es</FONT></A></FONT></P>
<DIV><FONT face=Calibri size=3><A
title="http://blog.darweb.es/&#10;CTRL + clic para seguir el vínculo"
href="http://blog.darweb.es/">blo...;/FONT>
<DIV><FONT
face=Calibri></FONT>&nbsp;</DIV></FONT></DIV></BLOCKQUOTE></BODY></HTML>

=_NextPart_000_004A_01C9A7C7.5E5CA470--
Respuesta Responder a este mensaje
#5 DARweb.es
20/03/2009 - 12:45 | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_001B_01C9A959.CA846EB0

Hola Alejandro;

Muchas gracias por tu respuesta; ciertamente se ha arreglado el problema enviando antes el batch que me indicas, ¡qué cosas mà¡s raras que hay que hacer a veces!.

Saludos

XTV
-
www.darweb.es

blog.darweb.es





"Alejandro Mesa" escribió en el mensaje de noticias:
Alguna vista indexada que use a esta tabla?

Primero debemos saber por que esta dando el error, luego ver como arreglarlo.

El analizador de consultas prende, por defecto, un numero de opciones, tales
como:

- QUOTED_IDENTIFIER
- ANSI_NULL_DFLT_ON
- ANSI_PADDING
- ANSI_WARNINGS
- ANSI_NULLS
- CONCAT_NULL_YIELDS_NULL
- ARITHABORT

Si usas SQL Profiler para chequear lo que QA envia hacia el servidor, veras
que lo primero que envia, cuando creas una nueva conexion es el batch:

SET CONCAT_NULL_YIELDS_NULL ON
SET ARITHABORT ON
SET ANSI_NULLS ON
SET ANSI_NULL_DFLT_ON ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET QUOTED_IDENTIFIER ON

Trata de hacer lo mismo desde tu aplicacion, en cuanto abras la conexion,
envie ese batch antes de llamar al procedimiento.

Es requerimiento tener prendida la opcion ARITHABORT para ejecutar
sentencias DML sobre tablas que tienen columnas calculadas que forman parte
de un indice y/o vistas indexadas.

Opciones SET que afectan a los resultados
http://msdn.microsoft.com/es-es/library/ms175088(SQL.90).aspx


Se que usas SQL Server 2000, pero esto te puede servir de guia.


AMB

"DARweb.es" wrote:

No; no tengo nada similar.

Lo mà¡s "raro" que hago es que la tabla de la que quiero borrar se encuentra en una BD distinta de la que contiene el procedimiento almacenado. No obstante, esto mismo lo he he hecho otras veces sin ningàºn problema, aparte de que al funcionar desde el Analizador de consultas entiendo que el problema debe ser otro.

El contenido del procedimiento es este:

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ARITHABORT ON
Go

Create procedure spDelFormasPagoPreConfiguradasEnSage_ByCodComercio
@CodComercio as varchar(5)
AS

SET NOCOUNT ON


DELETE FROM Sage100.dbo.F_REGLEMENTT WHERE (CT_Num = @CodComercio)


GO
SET ARITHABORT OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Muchas gracias por el aporte
Saludos

XTV
-
www.darweb.es

blog.darweb.es



From: "Alejandro Mesa"
Sent: Wednesday, March 18, 2009 2:01 PM
Newsgroups: microsoft.public.es.sqlserver
Subject: RE: Error con la configuración de ARITHABORT

> Por casualidad tienes alguna column calculada que forma parte de un indice,
> en esa tabla?
>
>
> AMB
>
> "DARweb.es" wrote:
>
>> Hola a todos
>>
>> Estoy muy confundido con este error que tengo entre VB.Net 2003 y SQL Server 2000
>>
>> Tengo un procedimiento almacenado de lo mà¡s simple; solo contiene un DELETE y una variable; si lo ejecuto desde el Analizador de Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un curioso error que nunca antes habà­a visto:
>> Error de DELETE porque las siguientes opciones SET tienen una configuración incorrecta: 'ARITHABORT'
>> He estado buscando información sobre este mensaje de error, pero no he visto mucho. He probado a aà±adir al procedimiento almacenado la sentencia:
>> SET ARITHABORT ON y como continuó sin funcionar también probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos casos
>> ¿Cómo puedo superar este problema?, ¿por qué me pasa esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación ..NET da error (el usuario SQL es el mismo)?
>>
>> Muchas gracias desde ya
>>
>> Saludos
>>
>> XTV
>> www.darweb.es
>>
>> blog




=_NextPart_000_001B_01C9A959.CA846EB0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16809" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=Calibri>Hola Alejandro;</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Muchas gracias por tu respuesta; ciertamente se ha
arreglado el problema enviando antes el batch que me indicas, ¡qué cosas
mà¡s <EM>raras</EM> que hay que hacer a veces!.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV>
<DIV><FONT face=Calibri>Saludos</FONT></DIV>
<DIV>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Calibri color=#339966>XTV</FONT></DIV><FONT
face=Calibri>
<P class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial
size=2><FONT color=#008000><FONT face=Calibri
size=3>-<BR><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="http://www.darweb.es">www.d...A><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="http://www.darweb.es"></A><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="wlmailhtml:{D0BEEEDF-B414-49B9-9DA9-E1F56E4A27DD}mid://00000018/!x-usc:http://www.darweb.es/"><...T><A
title="http://www.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="wlmailhtml:{D0BEEEDF-B414-49B9-9DA9-E1F56E4A27DD}mid://00000018/!x-usc:about:www.darweb.es"><FONT
title="www.darweb.es&#10;CTRL + clic para seguir el và­nculo" face=Calibri
size=3></FONT></A></FONT></P>
<DIV dir=ltr><FONT face=Calibri size=3><A
title="http://blog.darweb.es&#10;CTRL + clic para seguir el và­nculo"
href="http://blog.darweb.es">blog...;/FONT>
<DIV dir=ltr><FONT face=Calibri></FONT>&nbsp;</DIV></FONT></DIV>
<DIV><FONT face=Calibri></FONT><BR></DIV></DIV>
<DIV><FONT face=Calibri></FONT><BR><BR>"Alejandro Mesa"
&lt;&gt; escribió en el mensaje de
noticias:<BR>&gt; Alguna
vista indexada que use a esta tabla?<BR>&gt; <BR>&gt; Primero debemos saber por
que esta dando el error, luego ver como arreglarlo.<BR>&gt; <BR>&gt; El
analizador de consultas prende, por defecto, un numero de opciones, tales
<BR>&gt; como:<BR>&gt; <BR>&gt; - QUOTED_IDENTIFIER<BR>&gt; -
ANSI_NULL_DFLT_ON<BR>&gt; - ANSI_PADDING<BR>&gt; - ANSI_WARNINGS<BR>&gt; -
ANSI_NULLS<BR>&gt; - CONCAT_NULL_YIELDS_NULL<BR>&gt; - ARITHABORT<BR>&gt;
<BR>&gt; Si usas SQL Profiler para chequear lo que QA envia hacia el servidor,
veras <BR>&gt; que lo primero que envia, cuando creas una nueva conexion es el
batch:<BR>&gt; <BR>&gt; SET CONCAT_NULL_YIELDS_NULL ON<BR>&gt; SET ARITHABORT
ON<BR>&gt; SET ANSI_NULLS ON <BR>&gt; SET ANSI_NULL_DFLT_ON ON <BR>&gt; SET
ANSI_PADDING ON <BR>&gt; SET ANSI_WARNINGS ON <BR>&gt; SET QUOTED_IDENTIFIER
ON<BR>&gt; <BR>&gt; Trata de hacer lo mismo desde tu aplicacion, en cuanto abras
la conexion, <BR>&gt; envie ese batch antes de llamar al procedimiento.<BR>&gt;
<BR>&gt; Es requerimiento tener prendida la opcion ARITHABORT para ejecutar
<BR>&gt; sentencias DML sobre tablas que tienen columnas calculadas que forman
parte <BR>&gt; de un indice y/o vistas indexadas.<BR>&gt; <BR>&gt; Opciones SET
que afectan a los resultados<BR>&gt;
http://msdn.microsoft.com/es-es/library/ms175088(SQL.90).aspx<BR>&gt; <BR>&gt;
<BR>&gt; Se que usas SQL Server 2000, pero esto te puede servir de guia.<BR>&gt;
<BR>&gt; <BR>&gt; AMB<BR>&gt; <BR>&gt; "DARweb.es" wrote:<BR>&gt; <BR>&gt;&gt;
No; no tengo nada similar.<BR>&gt;&gt; <BR>&gt;&gt; Lo mà¡s "raro" que hago es
que la tabla de la que quiero borrar se encuentra en una BD distinta de la que
contiene el procedimiento almacenado. No obstante, esto mismo lo he he hecho
otras veces sin ningàºn problema, aparte de que al funcionar desde el Analizador
de consultas entiendo que el problema debe ser otro.<BR>&gt;&gt; <BR>&gt;&gt; El
contenido del procedimiento es este:<BR>&gt;&gt;
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET QUOTED_IDENTIFIER ON
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; GO<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET
ANSI_NULLS ON <BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
GO<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET ARITHABORT
ON<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Go<BR>&gt;&gt;
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Create procedure
spDelFormasPagoPreConfiguradasEnSage_ByCodComercio<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@CodComercio as varchar(5)<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; AS<BR>&gt;&gt;
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET NOCOUNT
ON<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&gt;&gt;
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM Sage100.dbo.F_REGLEMENTT
WHERE (CT_Num = @CodComercio)<BR>&gt;&gt; <BR>&gt;&gt;
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; GO<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET
ARITHABORT OFF<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;
GO<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET QUOTED_IDENTIFIER OFF
<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; GO<BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; SET
ANSI_NULLS ON <BR>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; GO<BR>&gt;&gt; <BR>&gt;&gt;
Muchas gracias por el aporte<BR>&gt;&gt; Saludos<BR>&gt;&gt; <BR>&gt;&gt;
XTV<BR>&gt;&gt; -<BR>&gt;&gt; www.darweb.es<BR>&gt;&gt;
<BR>&gt;&gt; blog.darweb.es<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt;
Mesa" &lt;&gt;<BR>&gt;&gt; Sent:
Wednesday, March 18, 2009 2:01 PM<BR>&gt;&gt; Newsgroups:
microsoft.public.es.sqlserver<BR>&gt;&gt; Subject: RE: Error con la
configuración de ARITHABORT<BR>&gt;&gt; <BR>&gt;&gt; &gt; Por casualidad tienes
alguna column calculada que forma parte de un indice, <BR>&gt;&gt; &gt; en esa
tabla?<BR>&gt;&gt; &gt; <BR>&gt;&gt; &gt; <BR>&gt;&gt; &gt; AMB<BR>&gt;&gt; &gt;
<BR>&gt;&gt; &gt; "DARweb.es" wrote:<BR>&gt;&gt; &gt; <BR>&gt;&gt; &gt;&gt; Hola
a todos<BR>&gt;&gt; &gt;&gt; <BR>&gt;&gt; &gt;&gt; Estoy muy confundido con este
error que tengo entre VB.Net 2003 y SQL Server 2000<BR>&gt;&gt; &gt;&gt;
<BR>&gt;&gt; &gt;&gt; Tengo un procedimiento almacenado de lo mà¡s simple; solo
contiene un DELETE y una variable; si lo ejecuto desde el Analizador de
Consultas funciona a la perfección; pero desde la aplicación VB.Net me da un
curioso error que nunca antes habà­a visto:<BR>&gt;&gt; &gt;&gt;&nbsp;&nbsp;
Error de DELETE porque las siguientes opciones SET tienen una configuración
incorrecta: 'ARITHABORT'<BR>&gt;&gt; &gt;&gt; He estado buscando información
sobre este mensaje de error, pero no he visto mucho.&nbsp; He probado a aà±adir
al procedimiento almacenado la sentencia:<BR>&gt;&gt; &gt;&gt;&nbsp;&nbsp; SET
ARITHABORT ON&nbsp;&nbsp;&nbsp;&nbsp; y como continuó sin funcionar también
probé poniéndolo en OFF; pero nada , el mismo mensaje de error en ambos
casos<BR>&gt;&gt; &gt;&gt; ¿Cómo puedo superar este problema?, ¿por qué me pasa
esto?, ¿por qué si lo ejecuto directamente va bien y desde una aplicación ..NET
da error (el usuario SQL es el mismo)?<BR>&gt;&gt; &gt;&gt; <BR>&gt;&gt;
&gt;&gt; Muchas gracias desde ya<BR>&gt;&gt; &gt;&gt; <BR>&gt;&gt; &gt;&gt;
Saludos<BR>&gt;&gt; &gt;&gt; <BR>&gt;&gt; &gt;&gt; XTV<BR>&gt;&gt; &gt;&gt;
&gt;&gt; <BR>&gt;&gt; &gt;&gt; blog</DIV></BODY></HTML>

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