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
 

Leer las respuestas

#1 GuilleSQL
18/11/2008 - 15:43 | Informe spam
Hola Mauricio,

Probablemente tengas dentro del procedure alguna consulta que haga un JOIN o
compare dos columnas con intercalación diferente.

La solución rápida, es hacer un "casting" de la intercalación en uno de los
campos de dicha consulta. Ej:

SELECT *
FROM tablaA
INNER JOIN tablaB
ON TablaA.campo = TablaB.campo COLLATE Modern_Spanish_CI_AS

La solución buena, cambiar la intercalación de tu tabla o de tu base de
datos, pero primero habría que ver y analizar qué intercalaciones hay en cada
campo, porqué, etc...

¿Qué es la Intercalación (Collation) en SQL Server? ¿Es posible cambiar la
Intercalación de una base de datos?
http://www.guillesql.es/Articulos/S...ation.aspx

Saludos,

GuilleSQL
http://www.guillesql.es


"Mauricio" wrote:

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 similares