Error al insertar en la tabla, QUOTED_IDENTIFIER

19/04/2006 - 22:18 por Donald | Informe spam
Hola,
A la hora de ingresar un articulo en su respectiva tabla, nos da un error
desde la aplicacion, es el siguiente:

insert failed because the following set options have incorrect settings:
'QUOTED_IDENTIFIER'

Cualquier ayuda, sera bien recibida

Gracias...
 

Leer las respuestas

#1 BitOne®
20/04/2006 - 07:28 | Informe spam
Este error nace del Quoted_identifier, que es quien se encarga de decirle al
sql server
como tratara las cadenas y los identificadores en cuanto a las ( ' )
comillas simples o apostrofe, y las ( ") comillas dobles.

Cuando el modificador QUOTE_IDENFIER esta en modo off todas las cadenas, son
tratadas entre comillas doble,
afectando esto tambien a las palabras reservadas, más cuando esta en Modo On
que es el modo por defecto estas son tratadas
con comilla simples pudiendo el programador utilizar laqs palabras
reservadas como nombre de variables, con tan solo encerrar
estas entre comillas "".

Veamos un ejemplo algo mas practico y menos abstracto:

BEGIN TRAN

SET QUOTED_IDENTIFIER ON
SELECT TOP 2 *
FROM #AUTORES

UPDATE A
SET "KEY" = 5
FROM #AUTORES A

SELECT TOP 2 *
FROM #AUTORES

ROLLBACK

Esta consulta es ejecutada con exito y como vemos tenemos una palabra
reservada siendo utilizada como nombre de un campo (KEY).

Si cambiamos el modificador SET QUOTED_IDENTIFIER ON a SET
QUOTED_IDENTIFIER OFF al intentar ejecutar esta consulta
nos devolvera un error ya que se utiliza la palabra KEY entre comillas y el
motor de base de datos entiende que esto es una cadena.

Un ejemplo mas ilustrativo:


use Pubs

select KEY1 = IDENTITY(INT,1,1), 0 "KEY", *
INTO #AUTORES from authors
go
SET QUOTED_IDENTIFIER off
select top 5 "key", au_id, au_lname from authors
go
SET QUOTED_IDENTIFIER On
select top 5 "key", au_id, au_lname from authors
go





"Donald" escribió en el mensaje
news:
Hola,
A la hora de ingresar un articulo en su respectiva tabla, nos da un error
desde la aplicacion, es el siguiente:

insert failed because the following set options have incorrect settings:
'QUOTED_IDENTIFIER'

Cualquier ayuda, sera bien recibida

Gracias...

Preguntas similares