Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi neue sortierung in skript verwenden (https://www.delphipraxis.net/77353-neue-sortierung-skript-verwenden.html)

sancho1980 18. Sep 2006 15:46

Datenbank: firebird • Version: 1.5 • Zugriff über: zeos

neue sortierung in skript verwenden
 
hi

ich habe ein sql-skript, in dem wird eine neue collation deklariert und dann soll diese verwendet werden..leider klappt das nicht so, wie ich mir das vorstelle; kann mir einer sagen warum? hier ein auszug aus dem skript:
SQL-Code:
/******************************************************************************/
/****         Generated by IBExpert 2006.08.17 18.09.2006 15:08:01         ****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES UNICODE_FSS;

CREATE DATABASE 'C:\Dokumente und Einstellungen\Sancho\Eigene Dateien\empty.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET UNICODE_FSS;


INSERT INTO rdb$collations (
    rdb$collation_name,
    rdb$collation_id,
    rdb$character_set_id
    )
VALUES
    (
    'CUSTOM_COLLATION1',
    250,
     (SELECT RDB$CHARACTER_SET_ID FROM RDB$CHARACTER_SETS WHERE
        RDB$CHARACTER_SET_NAME = 'UNICODE_FSS')
    );

/******************************************************************************/
/****                               Domains                               ****/
/******************************************************************************/

CREATE DOMAIN CHAR_1 AS
VARCHAR(1) COLLATE CUSTOM_COLLATION1; /* hier bekomm ich "unknown collation" */

/* und so weiter */
danke,

martin

[edit=SirThornberry]SQL-Tags gesetzt - Mfg, SirThornberry[/edit]

marabu 18. Sep 2006 17:11

Re: neue sortierung in skript verwenden
 
Hallo Martin,

so einfach ist das nicht.

Aus dem IB6 Data Definition Guide
... In all cases, choice of character set limits choice of collation orders. ...

Du musst also auch einen korrespondierenden Eintrag in der Tabelle RDB$CHARACTER_SETS machen. Die Frage, welche ID Werte du verwenden darfst kann ich dir momentan nicht beantworten. Wenn du wirklich eine völlig neue collation order nachrüsten willst, wirst du eventuell eine external function registrieren müssen, welche die gewünschte Ordnung realisiert. Vermutlich bringt hier nur ein beherzter Blick in die Quellen Klarheit, falls du keine Anleitung findest.

Grüße vom marabu

sancho1980 18. Sep 2006 18:02

Re: neue sortierung in skript verwenden
 
Zitat:

Zitat von marabu
Hallo Martin,

so einfach ist das nicht.

Doch doch, hatte nur vergessen, bei Domain-Erstellung auch das Character Set mitanzugeben.
Keine Frage, die Sortierung muss dann auch noch irgendwo definiert sein, genauer in einer Library namens fbintl2.dll (für firebird) oder gdsintl2.dll (für interbase)

falls es jemanden interessiert:

Eigene Sortierung für Firebird schreiben

Gruß,

Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz