Auxilio Urgente

05/02/2004 - 17:47 por Gustavo Morales | Informe spam
Select [Ap. Paterno] = P.A_Paterno, [Ap. Materno] = P.A_Materno, [Nombre] LTrim(RTrim(P.Nombre_1)) + ' ' + LTrim(RTrim(P.Nombre_2)), P.CUSSP,
P.DOCIDEN, P.RUC, P.Domicilio, U.Distrito, P.Sexo, P.Fecha_Nac, P.Telefono,
P.EMail, E.Nombre_Empresa, E.Av_Calle_Jr, E.Numero, P.Promedio, P.RAM_1,
P.RAM_2, P.RAM_3, P.AFP From (Persona P
With(Index(Ix_Per_CUSSP,Ix_Per_RUC,Ix_Per_Ubigeo)) Left Join Ubigeo U On
P.Codigo_Ubigeo = U.Codigo_Ubigeo) Inner Join Empresa E
With(Index(Ix_Emp_RUC)) On P.RUC = E.RUC Where P.CUSSP = '20101953069
'

Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador equal
to.

Viendo el Script generado por SQL veo que la tabla Persona fue creada con :
COLLATE Modern_Spanish_CI_AS y la tabla Empresa con : COLLATE
SQL_Latin1_General_CP1_CI_AS

Que debo hacer?

Preguntas similare

Leer las respuestas

#1 Javier Loria
05/02/2004 - 18:22 | Informe spam
Hola Gustavo:
Si no puedes o no quieres cambiar las Tablas puedes agregar COLLATE a
las comparaciones, por ejemplo:
==WHERE MiColumna = MiOtraColumna
COLLATE SQL_Latin1_General_CP1_CI_AS
==Pero te recomiendo que cambies el COLLATE de la Tabla/Columna, la sintaxis
es:
==ALTER TABLE Tabla
ALTER COLUMN Columna VARCHAR(40)
COLLATE SQL_Latin1_General_CP1_CI_AS
==Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Gustavo Morales escribio:
Select [Ap. Paterno] = P.A_Paterno, [Ap. Materno] = P.A_Materno,
[Nombre] = LTrim(RTrim(P.Nombre_1)) + ' ' + LTrim(RTrim(P.Nombre_2)),
P.CUSSP, P.DOCIDEN, P.RUC, P.Domicilio, U.Distrito, P.Sexo,
P.Fecha_Nac, P.Telefono, P.EMail, E.Nombre_Empresa, E.Av_Calle_Jr,
E.Numero, P.Promedio, P.RAM_1, P.RAM_2, P.RAM_3, P.AFP From (Persona P
With(Index(Ix_Per_CUSSP,Ix_Per_RUC,Ix_Per_Ubigeo)) Left Join Ubigeo U
On P.Codigo_Ubigeo = U.Codigo_Ubigeo) Inner Join Empresa E
With(Index(Ix_Emp_RUC)) On P.RUC = E.RUC Where P.CUSSP = '20101953069
'

Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador
equal to.

Viendo el Script generado por SQL veo que la tabla Persona fue creada
con : COLLATE Modern_Spanish_CI_AS y la tabla Empresa con : COLLATE
SQL_Latin1_General_CP1_CI_AS

Que debo hacer?
Respuesta Responder a este mensaje
#2 Gustavo Morales
05/02/2004 - 19:22 | Informe spam
Tienes toda la razon. Encontre que la tabla Persona (generada por DTS) se
creo con Collate Modern_Spani.. y la de Empresa esta con Collate SQL

Gracias. Hare el cambio pero tomara mucho tiempo. Son 3'500,000 de
registros.


"Javier Loria" escribió en el mensaje
news:
Hola Gustavo:
Si no puedes o no quieres cambiar las Tablas puedes agregar COLLATE a
las comparaciones, por ejemplo:
==> WHERE MiColumna = MiOtraColumna
COLLATE SQL_Latin1_General_CP1_CI_AS
==> Pero te recomiendo que cambies el COLLATE de la Tabla/Columna, la sintaxis
es:
==> ALTER TABLE Tabla
ALTER COLUMN Columna VARCHAR(40)
COLLATE SQL_Latin1_General_CP1_CI_AS
==> Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Gustavo Morales escribio:
> Select [Ap. Paterno] = P.A_Paterno, [Ap. Materno] = P.A_Materno,
> [Nombre] = LTrim(RTrim(P.Nombre_1)) + ' ' + LTrim(RTrim(P.Nombre_2)),
> P.CUSSP, P.DOCIDEN, P.RUC, P.Domicilio, U.Distrito, P.Sexo,
> P.Fecha_Nac, P.Telefono, P.EMail, E.Nombre_Empresa, E.Av_Calle_Jr,
> E.Numero, P.Promedio, P.RAM_1, P.RAM_2, P.RAM_3, P.AFP From (Persona P
> With(Index(Ix_Per_CUSSP,Ix_Per_RUC,Ix_Per_Ubigeo)) Left Join Ubigeo U
> On P.Codigo_Ubigeo = U.Codigo_Ubigeo) Inner Join Empresa E
> With(Index(Ix_Emp_RUC)) On P.RUC = E.RUC Where P.CUSSP = '20101953069
> '
>
> Servidor: mensaje 446, nivel 16, estado 9, línea 1
> No se puede resolver el conflicto de intercalación para el operador
> equal to.
>
> Viendo el Script generado por SQL veo que la tabla Persona fue creada
> con : COLLATE Modern_Spanish_CI_AS y la tabla Empresa con : COLLATE
> SQL_Latin1_General_CP1_CI_AS
>
> Que debo hacer?


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