Problema de Collation con un SP (2008-11-18)

18/11/2008 - 15:08 por Mauricio | Informe spam
Hola a todos,
tengo un procedimiento almacenado en una base de datos con esta
collation: SQL_Latin1_General_CP1_CI_AS
Al ejecutar el procedimiento almacenado con EXEC
DBO.SubArbolProyectos 14 devuelve un error de este tipo:
Implicit conversion of varchar value to varchar cannot be performed
because the collation of the value is unresolved due to a collation
conflict.
Cuál es la forma más sencilla de solucionar esto? Lo ideal sería
tener un SP que sea independiente de la collation definida para el
motor o la base de datos, se puede hacer esto?
Como dato, me he fijado en los campos de la tabla involucrada y
todos tienen la misma collation, así que no sé muy bien por dónde
buscar.
Cualquier ayuda es bienvenida.
Saludos.

Mauricio
Copenhague, Dinamarca

Preguntas similare

Leer las respuestas

#6 Mauricio
18/11/2008 - 16:33 | Informe spam
Ahora definí mis campos en la temporal con el COLLATE database_default.
En mi caso, funciona bien, pero para un cliente sigo teniendo el error,
ahora estoy viendo si hay algún campo con collation distinta.

GuilleSQL a présenté l'énoncé suivant :
¿Has comprobado la intercalación de los campos de tu tabla temporal?

Cabe el riesgo de que herede la intercalación por defecto de TEMPDB, de tal
modo, que si no coincide con la intercalación del campo con el que estás
cruzando, tendrías que crear la tabla temporal con la intercalación que
desees (explícitamente) o hacer un "casting" en la consulta con la cláusula
COLLATE...
GuilleSQL
http://www.guillesql.es


"Mauricio" wrote:

Sí, es la misma.
El SP crea una tabla temporal con dos campos varchar. Opté por
agregarle la COLLATION a esos 2 campos y parece funcionar, pero sigo
con la misma pregunta: hay forma de definir el SP para que sea
independiente? Algo como: COLLATION "LaMismaDeMiBaseDeDatos"? :)

Jose TH a exposé le 18/11/2008 :
Como dato, me he fijado en los campos de la tabla involucrada y todos
tienen la misma collation, así que no sé muy bien por dónde buscar.



Pero será la misma collation actual por defecto de la base de datos ?



Mauricio
Copenhague, Dinamarca








Mauricio
Copenhague, Dinamarca
Respuesta Responder a este mensaje
#7 GuilleSQL
18/11/2008 - 17:16 | Informe spam
Como "solución rápida" (workaround) para dicho cliente, se me ocurre hacer un
COLLATE en ambos campos del join... depende de lo apurado que estés...


GuilleSQL
http://www.guillesql.es


"Mauricio" wrote:

Ahora definí mis campos en la temporal con el COLLATE database_default.
En mi caso, funciona bien, pero para un cliente sigo teniendo el error,
ahora estoy viendo si hay algún campo con collation distinta.

GuilleSQL a présenté l'énoncé suivant :
> ¿Has comprobado la intercalación de los campos de tu tabla temporal?
>
> Cabe el riesgo de que herede la intercalación por defecto de TEMPDB, de tal
> modo, que si no coincide con la intercalación del campo con el que estás
> cruzando, tendrías que crear la tabla temporal con la intercalación que
> desees (explícitamente) o hacer un "casting" en la consulta con la cláusula
> COLLATE...
> GuilleSQL
> http://www.guillesql.es
>
>
> "Mauricio" wrote:
>
>> Sí, es la misma.
>> El SP crea una tabla temporal con dos campos varchar. Opté por
>> agregarle la COLLATION a esos 2 campos y parece funcionar, pero sigo
>> con la misma pregunta: hay forma de definir el SP para que sea
>> independiente? Algo como: COLLATION "LaMismaDeMiBaseDeDatos"? :)
>>
>> Jose TH a exposé le 18/11/2008 :
>>>> Como dato, me he fijado en los campos de la tabla involucrada y todos
>>>> tienen la misma collation, así que no sé muy bien por dónde buscar.
>>>
>>> Pero será la misma collation actual por defecto de la base de datos ?
>>
>> Mauricio
>> Copenhague, Dinamarca
>>
>>
>>

Mauricio
Copenhague, Dinamarca



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