Avatar billede left Nybegynder
04. oktober 2002 - 08:00 Der er 8 kommentarer og
2 løsninger

Problemer med æ ø å (MS SQL 7.0 og ASP)

Når jeg sorterer en række af poster, som begynder med æøå, så kommer posterne på følgende måde:

Abekat
Åby
Æble
Affe
Beta
Cestra
Neo
Øbo
Zebra

Jeg har ikke selv adgang til serveren, hvorpå databasen ligger, hvorfor jeg kun kan manipulere med sql-kald. Derfor søger jeg et sql-kald, som afhjælper dette problem.

En alternativ løsning ville være en asp-kode, som modtager udtrækket, hvorefter koden laver en ekstra sortering.
Avatar billede bennytordrup Nybegynder
04. oktober 2002 - 08:12 #1
Problemet skyldes den sortering, der er lavet på serveren.

På SQL Server 2000 kan du styre dette ved tabeloprettelse og ved at ændre tabellen. Alle tekstfelter har ved create/alter table en mulighed, der hedder collate. Jeg ved ikke, om denne også findes på SQL 7.0
Avatar billede virus Nybegynder
04. oktober 2002 - 08:14 #2
En yderligere løsning er nok at du bruger std ISO charset eller LATIN1, prøv at ændre dette til DANISH
Avatar billede bennytordrup Nybegynder
04. oktober 2002 - 08:22 #3
virus>> Hvilken indvirkning har charset på sorteringsrækkefølgen? Det er collation, der styrer sorteringen.
Avatar billede slash Nybegynder
04. oktober 2002 - 08:45 #4
benny -> man kan ik' styre collation ved tabeloprettelse på 7.0!
Avatar billede bennytordrup Nybegynder
04. oktober 2002 - 08:48 #5
Som jeg skrev i mit svar, så ved jeg ikke, om man kan på en 7.0. Jeg arbejder til daglig med en SQL 2000, og der kan du.
Avatar billede ocp Nybegynder
04. oktober 2002 - 09:07 #6
Det kræver en rebuild, hvilket er en større operation (men så lærer man til gengæld at huske den korrekte sortorder når man installerer ;-) ):

Changing the Character Set, Sort Order, or Unicode Collation

The character set, sort order, and Unicode collation are fundamental to the structure of all Microsoft SQL Server databases. In order to change one or more of these settings, you must rebuild the master and user databases.
Follow these steps to rebuild the databases and maintain their contents.
Back up the definitions of objects you want to preserve.
Use SQL Server Enterprise Manager to create scripts for all of the objects in the user databases and master database.
Export data from the user tables.
Use Microsoft Data Transformation Services (DTS) or the bcp bulk copy
utility to unload the user data.
Rebuild the master database.
Run the Rebuildm.exe command prompt utility. You can select new character set, sort order, and Unicode values and rebuild the master database with these new
settings.
Create new user databases. SEE Documenting and Scripting Databases in books online.
Use SQL Server Enterprise Manager or the CREATE DATABASE statement to re-create the user databases.
Create objects using the scripts created earlier.
Use SQL Server Query Analyzer to run the scripts you created earlier.
Import data into the user tables.
Use DTS or BCP to load data back into the user tables.
Avatar billede bennytordrup Nybegynder
04. oktober 2002 - 09:08 #7
Nøj hvor er jeg glad for SQL 2000 :-)
Avatar billede left Nybegynder
04. oktober 2002 - 13:22 #8
Ok, jeg lader mig flytte til en MSSQL 2000 server, hvor det så skulle være muligt at ændre sorteringen. Ved I om der kan være komplikationer mht. lagrede procedurer mm.?
Jeg giver jeg 75 pts. hver, når jeg har flyttet server - det er bestilt :-)
Avatar billede ocp Nybegynder
04. oktober 2002 - 13:24 #9
Så vidt jeg ved skulle det ikke give problemer.
Avatar billede bennytordrup Nybegynder
04. oktober 2002 - 13:31 #10
Jeg har haft flyttet databaser direkte mellem 7.0 og 2000 ved at detache fra 7'eren og attache på 2000'erenuden problemer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester