Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Cannot resolve collation conflict for equal to operation

Estas en el tema de Cannot resolve collation conflict for equal to operation en el foro de SQL Server en Foros del Web. Que tal foro quisiera que me ayudaran con este pequeño query: Código: DECLARE @FUNCIONARIOS VARCHAR(1000) SET @FUNCIONARIOS='[email protected],[email protected]' DECLARE @CORREOS VARCHAR(1000) SET @CORREOS='' DECLARE @INSTITUCIONES VARCHAR(1000) ...
  #1 (permalink)  
Antiguo 20/01/2010, 15:03
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Exclamación Cannot resolve collation conflict for equal to operation

Que tal foro quisiera que me ayudaran con este pequeño query:

Código:
	DECLARE @FUNCIONARIOS VARCHAR(1000)
	SET @FUNCIONARIOS='[email protected],[email protected]'
	DECLARE @CORREOS VARCHAR(1000)
	SET @CORREOS=''

	DECLARE @INSTITUCIONES VARCHAR(1000)
	SET @INSTITUCIONES=''
	
	DECLARE @FUNC_CORREOS TABLE (CORREOS_FUNCIONARIOS VARCHAR(1000))
		WHILE PATINDEX('%,%',@FUNCIONARIOS)>0
		BEGIN
			INSERT INTO @FUNC_CORREOS (CORREOS_FUNCIONARIOS) 
			VALUES (ISNULL(LEFT(@FUNCIONARIOS,PATINDEX('%,%',@FUNCIONARIOS)-1),0))
			SET @FUNCIONARIOS = RIGHT(@FUNCIONARIOS,LEN(@FUNCIONARIOS)-PATINDEX('%,%',@FUNCIONARIOS))
		END
	select @funcionarios
	INSERT INTO @FUNC_CORREOS(CORREOS_FUNCIONARIOS)
	VALUES (ISNULL(@FUNCIONARIOS,0));
	SELECT U.Responsable FROM Usuario_Enlace U INNER JOIN @FUNC_CORREOS C ON U.Correo= C.CORREOS_FUNCIONARIOS

	DECLARE @REPRE_IDS TABLE (ID_INFORMANTE INT)
		WHILE PATINDEX('%,%',@INSTITUCIONES)>0
		BEGIN
			INSERT INTO @REPRE_IDS (ID_INFORMANTE) 
			VALUES (ISNULL(LEFT(@INSTITUCIONES,PATINDEX('%,%',@INSTITUCIONES)-1),0))
			SET @INSTITUCIONES = RIGHT(@INSTITUCIONES,LEN(@INSTITUCIONES)-PATINDEX('%,%',@INSTITUCIONES))
		END
	INSERT INTO @REPRE_IDS(ID_INFORMANTE)
	VALUES (ISNULL(@INSTITUCIONES,0));
	SELECT @CORREOS = @CORREOS + CORREO + ', ' FROM @REPRE_IDS I INNER JOIN USUARIO_ENLACE  C ON  I.id_informante=c.ID_INFORMANTE 
 SELECT @CORREOS;
y obtengo el siguiente error:

Mens. 446, Nivel 16, Estado 9, Línea 19
Cannot resolve collation conflict for equal to operation.
¿PORQUE?

GRACIAS POR SU AYUDA

Última edición por ruben_zer0; 20/01/2010 a las 15:41
  #2 (permalink)  
Antiguo 20/01/2010, 15:38
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Cannot resolve collation conflict for equal to operation

Fijate en la tabla Usuario_Enlace qué intercalación (collation) tiene.
Esto lo puedes saber mediante el procedimiento sp_help <tutabla>
Luego pones:
Código SQL:
Ver original
  1. U.Correo = C.CORREOS_FUNCIONARIOS COLLATION <intercalacion del campo Correo en Usuario_Enlace>
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 20/01/2010, 16:01
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Cannot resolve collation conflict for equal to operation

El resultado de sp_helper<usuario_enlace>:

ID_usuario int no 4 10 0 no (n/a) (n/a) NULL
ID_informante int no 4 10 0 yes (n/a) (n/a) NULL
Login char no 25 yes no yes Traditional_Spanish_CI_AS
Password char no 25 yes no yes Traditional_Spanish_CI_AS
Responsable varchar no 150 yes no no Traditional_Spanish_CI_AS
Puesto varchar no 150 yes no no Traditional_Spanish_CI_AS
Telefono varchar no 80 yes no no Traditional_Spanish_CI_AS
Correo varchar no 50 yes no no Traditional_Spanish_CI_AS

y ps perdon pero estoy empezando con sql server, me podrias explicar bien lo de :
U.Correo = C.CORREOS_FUNCIONARIOS COLLATION <intercalacion del campo Correo en Usuario_Enlace>
gracias y saludos
  #4 (permalink)  
Antiguo 20/01/2010, 16:23
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Cannot resolve collation conflict for equal to operation

Cita:
Iniciado por flaviovich Ver Mensaje
Fijate en la tabla Usuario_Enlace qué intercalación (collation) tiene.
Esto lo puedes saber mediante el procedimiento sp_help <tutabla>
Luego pones:
Código SQL:
Ver original
  1. U.Correo = C.CORREOS_FUNCIONARIOS COLLATION <intercalacion del campo Correo en Usuario_Enlace>
Suerte!
asi fue como funciono:
DECLARE @FUNC_CORREOS TABLE (CORREOS_FUNCIONARIOS VARCHAR(1000) COLLATE Traditional_Spanish_CI_AS)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:03.