Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Jointure avec une table temporaire

8 réponses
Avatar
Alain
Bonjour,
j'avais une proc=E9dure stock=E9e sous SQL Server 7 qui=20
faisait une jointure entre une table temporaire et une=20
table physique existante. Tout cela marchait tr=E8s bien.
Je suis pass=E9 =E0 SQL Server 2000 et maintenant sur cette=20
m=EAme proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to=20
operation".

Comment r=E9soudre ce probl=E8me

Merci d'avance

Alain

8 réponses

Avatar
Fred BROUARD
A lire :
http://sqlpro.developpez.com/MSSQLServer_collations/Collations.html#4

A +

Alain a écrit:
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain



--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
bruno reiter [MVP]
ta base à surement un "collate" diférent de celui du serveur (donc tempdb)

br

"Alain" wrote in message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain
Avatar
Alain
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.



Avatar
bruno reiter [MVP]
ceci fonctionne chez moi :



create proc dbo.usp_brbr
as
create table #brbr
(
a nchar(55) collate SQL_Latin1_General_Cp1_CI_AS
)
insert #brbr
(a)
values(N'xxx')
select a from #brbr
drop table #brbr
go

EXEC dbo.usp_brbr

drop proc dbo.usp_brbr





--
******************
br


"Alain" wrote in message
news:5cf801c42dda$08c6c020$
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.



Avatar
Alain
Avec une base créée sous 2000 ça marche par contre avec
une base restaurée de SQL 7 il ne me prend pas
l'instruction collate ....

-----Message d'origine-----
ceci fonctionne chez moi :



create proc dbo.usp_brbr
as
create table #brbr
(
a nchar(55) collate SQL_Latin1_General_Cp1_CI_AS
)
insert #brbr
(a)
values(N'xxx')
select a from #brbr
drop table #brbr
go

EXEC dbo.usp_brbr

drop proc dbo.usp_brbr





--
******************
br


"Alain" wrote in


message
news:5cf801c42dda$08c6c020$
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.





.



Avatar
bruno reiter [MVP]
ça existe effectivement depuis SQL2000

br

"Alain" wrote in message
news:668001c42e8b$768a3f40$
Avec une base créée sous 2000 ça marche par contre avec
une base restaurée de SQL 7 il ne me prend pas
l'instruction collate ....

-----Message d'origine-----
ceci fonctionne chez moi :



create proc dbo.usp_brbr
as
create table #brbr
(
a nchar(55) collate SQL_Latin1_General_Cp1_CI_AS
)
insert #brbr
(a)
values(N'xxx')
select a from #brbr
drop table #brbr
go

EXEC dbo.usp_brbr

drop proc dbo.usp_brbr





--
******************
br


"Alain" wrote in


message
news:5cf801c42dda$08c6c020$
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.





.



Avatar
bruno reiter [MVP]
excuses-moi, j'ai répondu trop vite,
il faut changer le niveau de compatibilité avec
sp_dbcmptlevel et le passer à 80

br

"Alain" wrote in message
news:668001c42e8b$768a3f40$
Avec une base créée sous 2000 ça marche par contre avec
une base restaurée de SQL 7 il ne me prend pas
l'instruction collate ....

-----Message d'origine-----
ceci fonctionne chez moi :



create proc dbo.usp_brbr
as
create table #brbr
(
a nchar(55) collate SQL_Latin1_General_Cp1_CI_AS
)
insert #brbr
(a)
values(N'xxx')
select a from #brbr
drop table #brbr
go

EXEC dbo.usp_brbr

drop proc dbo.usp_brbr





--
******************
br


"Alain" wrote in


message
news:5cf801c42dda$08c6c020$
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.





.



Avatar
Alain
Merci, ça m'arrange vraiment !

-----Message d'origine-----
ceci fonctionne chez moi :



create proc dbo.usp_brbr
as
create table #brbr
(
a nchar(55) collate SQL_Latin1_General_Cp1_CI_AS
)
insert #brbr
(a)
values(N'xxx')
select a from #brbr
drop table #brbr
go

EXEC dbo.usp_brbr

drop proc dbo.usp_brbr





--
******************
br


"Alain" wrote in


message
news:5cf801c42dda$08c6c020$
Ok, par contre dans proc stock il ne m'accepte pas lors
de la création de ma table temporaire l'instruction
collate. C'est normal ?

-----Message d'origine-----
ta base à surement un "collate" diférent de celui du


serveur (donc tempdb)

br

"Alain" wrote in


message
news:5bd701c42db4$8dcb4a50$
Bonjour,
j'avais une procédure stockée sous SQL Server 7 qui
faisait une jointure entre une table temporaire et une
table physique existante. Tout cela marchait très bien.
Je suis passé à SQL Server 2000 et maintenant sur cette
même proc stock j'ai une erreur :
"Msg 446, Cannot resolve collation conflict for equal to
operation".

Comment résoudre ce problème

Merci d'avance

Alain


.





.