Urgente! Error Intercalacion con servidor remoto Oracle

29/05/2004 - 13:14 por Koper | Informe spam
Hola amigos!

Tengo un servidor con Windows 2000 Advanced Server en
español, y SQL Server 2000 (intercalacion
Modern_Spanish_CI_AS). En el una base de datos con
intercalacion SQL_Latin1_General_CP1_CS_AS.

En el servidor SQL Server tengo un servidor vinculado de
Oracle en ingles, que esta sobre W2000 server en español.

Al ejecutar una consulta en SQL server que iguala ambas
bases de datos:

SELECT TablaSQLServer.Campo1
FROM TablaOracle INNER JOIN TabalSQLServer ON
TablaOracle.Campo2 = TabalSQLServer.Campo2

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

¿Como debo confirurar el servidor vinculado para que
funcione? ¿Que intercalacion le pongo?

Si alguien pudiera ayudarme!

Muchas gracias de antemano!

Koper
 

Leer las respuestas

#1 Maximiliano Damian Accotto
29/05/2004 - 17:30 | Informe spam
Hola, mira no se si le vas a poder poner la intercalacion al servidor
vinculado Oracle!! ni tampoco quizas sea bueno cambiar la intercalacion al
de SQL.

Esta claro que ambos deben tener la misma intercalacion, pero hay veces que
es dificil porque aca estamos hablando de sistemas distintos!!!.

Lo que podrias hacer es usar algo llamado "precedencia de intercalacion" (en
tus libros on line lo tenes bien explicado) pero te copio un fragmento

El predicado de la siguiente consulta tiene un conflicto de intercalación y
genera un error:

SELECT *
FROM TestTab
WHERE GreekCol = LatinCol
Éste es el conjunto de resultados.

Msg 446, Level 16, State 9, Server CTSSERV, Line 1
Cannot resolve collation conflict for equal to operation.
El predicado de la siguiente consulta se evalúa en una intercalación
greek_ci_as porque la expresión de la derecha tiene la etiqueta explícita,
que tiene precedencia sobre la etiqueta implícita de la expresión de la
derecha:

SELECT *
FROM TestTab
WHERE GreekCol = LatinCol COLLATE greek_ci_as
Suerte y espero te sea utilBye

Salu2

Maximiliano Damian Accotto
Gerente de IT
Fundicion San Cayetano S.A.
Buenos Aires Argentina
-
maxi_accotto[arroba]speedy[.]com[.].ar
MSN:



"Koper" escribió en el mensaje
news:14ad701c4456e$1c2a4d70$
Hola amigos!

Tengo un servidor con Windows 2000 Advanced Server en
español, y SQL Server 2000 (intercalacion
Modern_Spanish_CI_AS). En el una base de datos con
intercalacion SQL_Latin1_General_CP1_CS_AS.

En el servidor SQL Server tengo un servidor vinculado de
Oracle en ingles, que esta sobre W2000 server en español.

Al ejecutar una consulta en SQL server que iguala ambas
bases de datos:

SELECT TablaSQLServer.Campo1
FROM TablaOracle INNER JOIN TabalSQLServer ON
TablaOracle.Campo2 = TabalSQLServer.Campo2

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

¿Como debo confirurar el servidor vinculado para que
funcione? ¿Que intercalacion le pongo?

Si alguien pudiera ayudarme!

Muchas gracias de antemano!

Koper

Preguntas similares