Como RESOLVER este error: "conflicto de intercalación para el operador equal to."

17/06/2005 - 09:30 por Quark | Informe spam
Hola grupo:

Este error me aparece cuando realizo una consulta que trabaja con una BD, y
realiza un join con una VIEW de otra BD.
VPRODUCTOS es la VIEW


SELECT p1 FROM PEDIDOS
WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)

da este error

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

Si ejecutamos
SELECT p1 FROM PEDIDOS
funciona perfecto

y si ejecutamos tambien de forma individual
SELECT NUMERO FROM VPRODUCTOS
también funciona perfecto


Alguna idea ???

Preguntas similare

Leer las respuestas

#1 Peter Ramsebner
17/06/2005 - 12:01 | Informe spam
Hola,

tal vez las dos tables tienen intercalaciones diferentes.
Utiliza sp_help 'tablename' para controlarlo.

Un saludo


"Quark" escribió en el mensaje
news:
Hola grupo:

Este error me aparece cuando realizo una consulta que trabaja con una BD,
y realiza un join con una VIEW de otra BD.
VPRODUCTOS es la VIEW


SELECT p1 FROM PEDIDOS
WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)

da este error

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

Si ejecutamos
SELECT p1 FROM PEDIDOS
funciona perfecto

y si ejecutamos tambien de forma individual
SELECT NUMERO FROM VPRODUCTOS
también funciona perfecto


Alguna idea ???

Respuesta Responder a este mensaje
#2 soca
17/06/2005 - 16:09 | Informe spam
prueba haciendo esta consulta

select p1 from pedidos
where exists (select numero from otroservidor.basededatos.dbo.vproductos
where p1 = numero)

"Peter Ramsebner" wrote:

Hola,

tal vez las dos tables tienen intercalaciones diferentes.
Utiliza sp_help 'tablename' para controlarlo.

Un saludo


"Quark" escribió en el mensaje
news:
> Hola grupo:
>
> Este error me aparece cuando realizo una consulta que trabaja con una BD,
> y realiza un join con una VIEW de otra BD.
> VPRODUCTOS es la VIEW
>
>
> SELECT p1 FROM PEDIDOS
> WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)
>
> da este error
>
> "Servidor: mensaje 446, nivel 16, estado 9, línea 1
> No se puede resolver el conflicto de intercalación para el operador equal
> to."
>
> Si ejecutamos
> SELECT p1 FROM PEDIDOS
> funciona perfecto
>
> y si ejecutamos tambien de forma individual
> SELECT NUMERO FROM VPRODUCTOS
> también funciona perfecto
>
>
> Alguna idea ???
>



Respuesta Responder a este mensaje
#3 Quark
18/06/2005 - 12:20 | Informe spam
Grcias a todos por vuestra ayuda.

El problema estaba en que p1 aceptaba NULL y NUMERO no los aceptaba.
Asi que he igualado las caracteristicas y todo perfecto.

SALUDOS Y GRACIAS DE NUEVO A TODOS !!!


"Quark" escribió en el mensaje
news:
Hola grupo:

Este error me aparece cuando realizo una consulta que trabaja con una BD,
y realiza un join con una VIEW de otra BD.
VPRODUCTOS es la VIEW


SELECT p1 FROM PEDIDOS
WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)

da este error

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

Si ejecutamos
SELECT p1 FROM PEDIDOS
funciona perfecto

y si ejecutamos tambien de forma individual
SELECT NUMERO FROM VPRODUCTOS
también funciona perfecto


Alguna idea ???

Respuesta Responder a este mensaje
#4 Maxi
18/06/2005 - 16:48 | Informe spam
Hola, esto sucede porque los collate son distintos, si te fijas en tus
libros on line (BOL) el tema Collate podras ver como se puede solucionar
esto con varios ejemplos


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Quark" escribió en el mensaje
news:
Hola grupo:

Este error me aparece cuando realizo una consulta que trabaja con una BD,
y realiza un join con una VIEW de otra BD.
VPRODUCTOS es la VIEW


SELECT p1 FROM PEDIDOS
WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)

da este error

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

Si ejecutamos
SELECT p1 FROM PEDIDOS
funciona perfecto

y si ejecutamos tambien de forma individual
SELECT NUMERO FROM VPRODUCTOS
también funciona perfecto


Alguna idea ???

Respuesta Responder a este mensaje
#5 Quark
20/06/2005 - 09:35 | Informe spam
Gracias Maxi. Revisaré lo que me comentas !!!

Aunque ahora ya me funciona. Hice el cambio de intercalacion y además
coloque a not null el campo de una de las tablas, ya que con el cambio de
intercalacion no fue suficiente. Al colocar a not null el campo con el que
hacia la igualacion la consulta funcionó perfectamente.

Saludos !!!

"Maxi" escribió en el mensaje
news:
Hola, esto sucede porque los collate son distintos, si te fijas en tus
libros on line (BOL) el tema Collate podras ver como se puede solucionar
esto con varios ejemplos


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Quark" escribió en el mensaje
news:
Hola grupo:

Este error me aparece cuando realizo una consulta que trabaja con una BD,
y realiza un join con una VIEW de otra BD.
VPRODUCTOS es la VIEW


SELECT p1 FROM PEDIDOS
WHERE EXISTS (SELECT NUMERO FROM VPRODUCTOS WHERE p1 = NUMERO)

da este error

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

Si ejecutamos
SELECT p1 FROM PEDIDOS
funciona perfecto

y si ejecutamos tambien de forma individual
SELECT NUMERO FROM VPRODUCTOS
también funciona perfecto


Alguna idea ???





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