[MSSQL2000] cannot resolve collation conflict - ?
Krzysztof Wi?niewski - 14-12-2006 16:07
[MSSQL2000] cannot resolve collation conflict - ?
Zainstalowa?em sobie ?rodowisko testowe na wirtualnej maszynie - Win2003Server + MSSQL 2000. Na serwerze pod??czy?em (attach database) pliki jednej z baz. I spróbowa?em wykona? nast?puj?c? procedur?:
CREATE PROCEDURE proc_Pola ( @JakaNazwaUzytkownika sysname ) AS SET NOCOUNT ON; CREATE TABLE #helpgroup ( NazwaGrupy sysname, NazwaCzlonka sysname, IDCzlonka varbinary(85) ) CREATE INDEX I_#helpgroup ON #helpgroup(NazwaGrupy) ON [PRIMARY]; INSERT INTO #helpgroup EXEC sp_helprolemember; SELECT DISTINCT dbo.Application_Objects.NazwaObiektu FROM dbo.Application_Objects INNER JOIN #helpgroup ON #helpgroup.NazwaGrupy = dbo.Application_Objects.NazwaGrupy AND #helpgroup.NazwaCzlonka = @JakaNazwaUzytkownika WHERE dbo.Application_Objects.Visible = 1 GO
i... dostaj? komunikat 'cannot resolve collation conflict' - dlaczego?
W ?rodowisku, w którym t? procedur? pisa?em, wszystko dzia?a jak nale?y. Konfiguracja MSSQL wydaje si? w obu przypadkach taka sama.
?
Pozdrawiam, Krzysiek
Grzesiek G. - 14-12-2006 16:08
Krzysztof Wi?niewski napisa?(a): > Zainstalowa?em sobie ?rodowisko testowe na wirtualnej maszynie - > Win2003Server + MSSQL 2000. Na serwerze pod??czy?em (attach database) pliki > jednej z baz. I spróbowa?em wykona? nast?puj?c? procedur?: > > CREATE PROCEDURE proc_Pola > ( > @JakaNazwaUzytkownika sysname > ) > AS > SET NOCOUNT ON; > CREATE TABLE #helpgroup > ( > NazwaGrupy sysname, > NazwaCzlonka sysname, > IDCzlonka varbinary(85) > ) > CREATE INDEX I_#helpgroup ON #helpgroup(NazwaGrupy) ON [PRIMARY]; > INSERT INTO #helpgroup > EXEC sp_helprolemember; > SELECT DISTINCT > dbo.Application_Objects.NazwaObiektu > FROM dbo.Application_Objects > INNER JOIN #helpgroup ON #helpgroup.NazwaGrupy = > dbo.Application_Objects.NazwaGrupy > AND #helpgroup.NazwaCzlonka = @JakaNazwaUzytkownika > WHERE dbo.Application_Objects.Visible = 1 > GO > > i... dostaj? komunikat 'cannot resolve collation conflict' - dlaczego? > > W ?rodowisku, w którym t? procedur? pisa?em, wszystko dzia?a jak nale?y. > Konfiguracja MSSQL wydaje si? w obu przypadkach taka sama. >
Ale zapewne domy?lne collation jest inne. Dlatego tabela tymczasowa #helpgroup ma inne collation ni? sta?a Application_Objects. Mo?esz przy ??czeniu tabel poda? j? jawnie, np.: FROM dbo.Application_Objects INNER JOIN #helpgroup ON #helpgroup.NazwaGrupy = dbo.Application_Objects.NazwaGrupy COLLATE Polish_CI_AS
Niestety, jawne podanie mo?e spowodowa? nieu?ycie indeksu. Mo?esz te? j? poda? przy tworzeniu tabeli tymczasowej: CREATE TABLE #helpgroup ( NazwaGrupy sysname COLLATE Polish_CI_AS, NazwaCzlonka sysname COLLATE Polish_CI_AS, IDCzlonka varbinary(85) )
Ale IMO powiniene? skonfigurowa? ?rodowisko testowe, tak jak produkcyjne.
Pozdrawiam
-- Grzegorz Gruza Odpowiadaj?c usu? "spamerom_nie." z adresu!!!
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[MSSQL2000]-ciekawy problem z dzieleniem liczb decimal(38,25)
=?iso-8859-2?Q?pare_pyta=F1_dot._MSSQL2005.?=
MSDE, MSSQL2005EE - problem z dostępem z innego komputera.
[MSSQL2005] Export z serwera do pliku .mdf/.ldf
[MSSQL2005]Flush dla okienka z outputem w Managment Studio
MSSQL2k + SSL - przerobione wszystkie manuale i nic
[MSSQL2000] Przeniesienie bazy na inny dysk
[MSSQL2000] Jak wyeksportować .txt w formacie UTF-8??
[MSSQL2000] xp_sendmail i for xml
zanotowane.pldoc.pisz.plpdf.pisz.plptsite.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|