Opciones SET incorrectas

20/04/2004 - 12:11 por Tomas Martin | Informe spam
Tengo un porcedimiento almacenado que añade filas a una tabla y que
funcionaba correctamente hasta que que se ha creado una vista indizada.
Desde ese momento, al executar dicho procemiento, se produce el error:

Error de INSERT porque las siguientes opciones SET tienen una configuración
incorrecta: 'QUOTED_IDENTIFIER','ARITHABORT'.

Alguna pista de por donde empezar a mirar? si necesitais los scripts de
tablas, procs y vista os lo mando

Gracias

TomasMM

Preguntas similare

Leer las respuestas

#6 Tomas Martin
20/04/2004 - 17:44 | Informe spam
Hola Miguel, entiendo, por lo que dices, que un procedimiento almacenado
'conoce' los valores que tenian los set en el momento de su creación
¿correcto? si es así como puedo saber esos valores para un proc ya creado

Tomás

"Miguel Egea" escribió en el mensaje
news:eCH9J%
El problema es que el procedimiento tiene asociados esos valores, tienes


que
poner esos sets y hacer un alter a tu procedimiento, después no es


necesario
ponerlo para invocarlo.

Respuesta Responder a este mensaje
#7 Rubén Vigón
20/04/2004 - 18:01 | Informe spam
[...] DBCC USEROPTIONS
Devuelve las opciones SET activas (establecidas) en la conexión actual

[...] @@OPTIONS
Devuelve información acerca de las opciones SET actuales

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
Respuesta Responder a este mensaje
#8 Tomas Martin
21/04/2004 - 10:28 | Informe spam
Vale, ya voy entendiendo algo más del tema. Una última cuestión:

Veo en los BOL que hay dos tipos de intrucciones Set, las que se establecen
el tiempo de análisis (como QUOTED_IDENTIFIER) y las que se establecen en
tiempo de ejecución (como SET ARITHABORT).
Pongo estas como ejemplo proque son las que me están dando problemas.

Veamos, tengo un sp que necesita un valor set concreto para estas dos
instrucciones.
Con quoted_identifier (por establecerse en tiempo de análisis) no hay mayor
problema: edito el sp desde el analizador de consultar, establezco el valor
de quote antes del alter y ejecuto la consulta. Con lo que el valor del set
se establece durante la ejecución del sp y despues retorna al valor
original. ¿es correcto?

Ahora si hago esto mismo con arithabort no funciona correctamente, tambien
he probado a incluir dentro del sp y nada. De la única forma que he
conseguido que no me de el error del arithabort es ejecutando desde el
analizador
ALTER DATABASE pepe
SET ARITHABORT ON
pero pienso esto me establece el valor de servidor predeterminado a On lo
que, según los BOL, es incorrecto. Deberia estar a OFF.

Por lo tanto deduzco que algo hago mal con los set que se establecen en
tiempo de ejecución (soy un ignorante). ¿Donde deberia asignarle valor al
Arithabort para que me esté en on durante la ejecución del sp pero vuelva a
off al terminar el mismo?

Ya lo sé, soy un pesao. Os agradezco vuestra ayuda

Tomás Martín
Respuesta Responder a este mensaje
#9 Carlos Sacristan
21/04/2004 - 11:40 | Informe spam
No, tienes que establecer ese valor a la hora de la creación del
procedimiento almacenado o, en tu caso, a la hora de modificarlo.



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Tomas Martin" <t o m a s m m [ARROBA] m i c r o v e n [punto] n e t>
escribió en el mensaje news:
Vale, ya voy entendiendo algo más del tema. Una última cuestión:

Veo en los BOL que hay dos tipos de intrucciones Set, las que se


establecen
el tiempo de análisis (como QUOTED_IDENTIFIER) y las que se establecen en
tiempo de ejecución (como SET ARITHABORT).
Pongo estas como ejemplo proque son las que me están dando problemas.

Veamos, tengo un sp que necesita un valor set concreto para estas dos
instrucciones.
Con quoted_identifier (por establecerse en tiempo de análisis) no hay


mayor
problema: edito el sp desde el analizador de consultar, establezco el


valor
de quote antes del alter y ejecuto la consulta. Con lo que el valor del


set
se establece durante la ejecución del sp y despues retorna al valor
original. ¿es correcto?

Ahora si hago esto mismo con arithabort no funciona correctamente, tambien
he probado a incluir dentro del sp y nada. De la única forma que he
conseguido que no me de el error del arithabort es ejecutando desde el
analizador
ALTER DATABASE pepe
SET ARITHABORT ON
pero pienso esto me establece el valor de servidor predeterminado a On lo
que, según los BOL, es incorrecto. Deberia estar a OFF.

Por lo tanto deduzco que algo hago mal con los set que se establecen en
tiempo de ejecución (soy un ignorante). ¿Donde deberia asignarle valor al
Arithabort para que me esté en on durante la ejecución del sp pero vuelva


a
off al terminar el mismo?

Ya lo sé, soy un pesao. Os agradezco vuestra ayuda

Tomás Martín



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