Cannot resolve collation conflict for equal to operation.

27/07/2006 - 17:24 por Andrey | Informe spam
Hola Amigos...

Si me ayudan con esto. mil gracias.

que tengo que cambiar a nivel de servidor o a nivel de cliente.
porque sucede en unos equipos y en otros no.

Sql Server 2000

Preguntas similare

Leer las respuestas

#11 jcac
27/07/2006 - 21:20 | Informe spam
Que bueno,

Saludos

"Andrey" escribió en el mensaje
news:
Hola Jcac.

el tipo de campo deber ser varchar(10) con el collate

quedaria asi:

CREATE PROCEDURE get_product_names_tblnum @ids varchar(50) AS
CREATE TABLE #temp (id int IDENTITY(1, 1) NOT NULL,clave varchar(10)
collate SQL_Latin1_General_CP1_CI_AS)
INSERT #temp (clave)
SELECT i.str FROM charlist_to_table(@ids,default) i

SELECT P.strcliente, P.strcampanamp
FROM bd..tbl_mvi_pedido_exterior P
JOIN #temp t ON P.strcontrol = t.clave
GO

Jcac pero ya me funciona.
exactamente, no se que estoy haciendo diferente a ayer.

volvi a repasar todas las definiciones de collate en el PA como me lo dijo
Alejandro y lo volvi a probar, ya me funciona.

Muchas gracias por tu ayuda.

"jcac" escribió:

Hola Andrey,

No me funciona tu declaracion de tabla temporal y que tipo de campo es
clave
ya que no especificas que tipo es???

Saludos

Y que tipo de campo
"Andrey" escribió en el mensaje
news:
> gracias alejandro...
>
> mira, todo eso lo estuve analizando ayer.
> consulte la colation de mi bd y era SQL_Latin1_General_CP1_CI_AS
>
> consulto la collation de la columna de mi tabla y es <base de datos
> predeterminada> osea SQL_Latin1_General_CP1_CI_AS
>
> le defini ese collation a la temporal y el problema persiste.
> por eso es que hoy decidi pedirles ayuda.
>
> intento hacer algo como esto:
>
> CREATE PROCEDURE get_product_names_tblnum @ids varchar(50) AS
> CREATE TABLE #temp (id int IDENTITY(1, 1) NOT NULL,clave
> SQL_Latin1_General_CP1_CI_AS)
> INSERT #temp (clave)
> SELECT i.str FROM charlist_to_table(@ids,default) i
>
> SELECT P.strcliente, P.strcampanamp
> FROM bd..tbl_mvi_pedido_exterior P
> JOIN #temp t ON P.ProductID = t.clave
> go
>
> esto solo para que se den una idea. yo se que no tiene nada que ver la
> accion con el error.
>
>
> "Alejandro Mesa" escribió:
>
>> Andrey,
>>
>> Fijate en la collation de las columnas desde donde vas a seleccionar
>> la
>> data
>> para poner en la tabla temporal y define esa columna en la tabla
>> temporal
>> con
>> la misma collation, usando la clausula collate. Tambien puede
>> funcionar
>> llenando la tabla usando "select c1, c2, ..., cn into #t1 from dbo.t1
>> where
>> ...", pero este tipo de sentencia no es buena practica ya que requiere
>> mas
>> locks y recursos.
>>
>> Ejemplo:
>>
>> use northwind
>> go
>>
>> create table dbo.t1 (
>> c1 varchar(50) collate SQL_Latin1_General_CP1_CI_AI
>> )
>> go
>>
>> create table #t1 (
>> c1 varchar(50)
>> )
>> go
>>
>> select
>> object_id('dbo.t1'),
>> 'dbo.t1',
>> [name],
>> collation
>> from
>> dbo.syscolumns
>> where
>> [id] = object_id('dbo.t1')
>>
>> union all
>>
>> select
>> object_id('tempdb.dbo.#t1'),
>> 'tempdb.dbo.#t1',
>> [name],
>> collation
>> from
>> tempdb.dbo.syscolumns
>> where
>> [id] = object_id('tempdb.dbo.#t1')
>> go
>>
>> insert into dbo.t1 values('Microsoft')
>> go
>>
>> insert into #t1
>> select c1 from dbo.t1
>> go
>>
>> select * from dbo.t1
>> select * from #t1
>> go
>>
>> select *
>> from dbo.t1 as a inner join #t1 as b on a.c1 = b.c1
>> go
>>
>> drop table #t1
>> go
>>
>> create table #t1 (
>> c1 varchar(50) collate SQL_Latin1_General_CP1_CI_AI
>> )
>> go
>>
>> insert into #t1
>> select c1 from dbo.t1
>> go
>>
>> select *
>> from dbo.t1 as a inner join #t1 as b on a.c1 = b.c1
>> go
>>
>> drop table #t1, dbo.t1
>> go
>>
>>
>> AMB
>>
>> "Andrey" wrote:
>>
>> > Hola jcac
>> >
>> > las defino y con las select into tambien.
>> >
>> >
>> > "jcac" escribió:
>> >
>> > > Y Como las creas tus tablas con select into o las defines???
>> > >
>> > > A mi me ayudo esto, si las creaba con create table me daba tu
>> > > error,
>> > > en
>> > > cambio cuando lo hice con select into no tuve ese problema.
>> > >
>> > > espero ayudarte.
>> > >
>> > > Saludos
>> > >
>> > > "Andrey" escribió en el mensaje
>> > > news:
>> > > > muchas gracias alejandro...
>> > > >
>> > > > si te digo que solo me ocurre cuando quiero hacer subconsultas o
>> > > > enlazar
>> > > > consultas con tablas de mi base de datos y tablas temporales,
>> > > > cambias algo
>> > > > la
>> > > > sugerencia...?
>> > > >
>> > > > El problema se da solo con las tablas temporales, el collation
>> > > > de
>> > > > mis
>> > > > tablas
>> > > > de la bd, no tienen problemas.
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > "Alejandro Mesa" escribió:
>> > > >
>> > > >> Andrey,
>> > > >>
>> > > >> Para cambiar la collation del servidor, deberas usar el
>> > > >> utilitario
>> > > >> rebuilm.exe (ve "Rebuild Master" en los BOL). Asegurate de
>> > > >> tener
>> > > >> un
>> > > >> script
>> > > >> para recrear todas las dbs de usuario, asi como su data
>> > > >> (backup).
>> > > >>
>> > > >> Para cambiar la collation de una db, puedes usar el comando
>> > > >> "alter
>> > > >> database"
>> > > >> pero eso no cambiara la collation de las columnas existentes.
>> > > >> Para
>> > > >> cambiar la
>> > > >> collation de una columna, debes usar la sentencia "alter
>> > > >> table",
>> > > >> pero
>> > > >> debes
>> > > >> serciorarte de que esa columna no este siendo usada por algun
>> > > >> indice,
>> > > >> vista
>> > > >> indexada, etc.
>> > > >>
>> > > >> Creo que tendras que sacar la data hacia archivos, recrear la
>> > > >> database,
>> > > >> tablas y columnas con la collation deseada y luego cargar la
>> > > >> data
>> > > >> nuevamente.
>> > > >>
>> > > >>
>> > > >> AMB
>> > > >>
>> > > >> "Andrey" wrote:
>> > > >>
>> > > >> >
>> > > >> > Hola Amigos...
>> > > >> >
>> > > >> > Si me ayudan con esto. mil gracias.
>> > > >> >
>> > > >> > que tengo que cambiar a nivel de servidor o a nivel de
>> > > >> > cliente.
>> > > >> > porque sucede en unos equipos y en otros no.
>> > > >> >
>> > > >> > Sql Server 2000
>> > >
>> > >
>> > >



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