Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2007, 09h47   #1
Invité de passage
 
Inscription : juin 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 2
Points : 1
Points : 1
Par défaut Problème avec les jeux de caractères

Bonjour j'utilise un serveur FB 2.0 embbeded pour importer des données temporaires. Ces données sont sous forme de fichier texte et utilisent le jeux de caractères DOS850

Lorsque je tente de créer ma base avec le jeux DOS850 j'obtient un message CHARACTER SET DOS850 not defined ou de temps en temps CHARACTER SET DOS850 is not installed.

Pourtant le répertoire /intl est bien présent et les fichiers fbintl.dll et fbintl.conf sont aussi présents dans ce dernier. Tout semble fonctionner normalement.

CHARACTER SET NONE fonctionne bien pour le création de la base mais pas CHARACTER SET DOS850.

Note : j'utilise UIB avec Delphi 7 pour me connecter à ma base Firebird.
sergio_is_back est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2007, 10h49   #2
Invité de passage
 
Inscription : juin 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 2
Points : 1
Points : 1
Voila j'ai trouvé tout seul finalement mais je poste la solution pour ceux qui seraient intêressés :

Il faut créer et se connecter à la base de données avec DEFAULT CHARSET NONE puis dans le script d'import du fichier texte :

DROP TABLE ARTICLES;

CREATE TABLE IMPORT EXTERNAL FILE 'INVENTARIO.ART'
(
ART_CODE CHAR(20) CHARACTER SET DOS850 NOT NULL,
ART_NAME CHAR(50) CHARACTER SET DOS850 NOT NULL,
ART_UNIT CHAR(15) CHARACTER SET DOS850 NOT NULL,
ART_PLACE CHAR(15) CHARACTER SET DOS850 NOT NULL,
ART_QTY CHAR(6) NOT NULL
);

CREATE TABLE ARTICLES (
ART_CODE VARCHAR(20) CHARACTER SET ISO8859_1 NOT NULL,
ART_LIB VARCHAR(50) CHARACTER SET ISO8859_1 NOT NULL,
ART_UNIT VARCHAR(15) CHARACTER SET ISO8859_1 NOT NULL,
ART_PLACE VARCHAR(15) CHARACTER SET ISO8859_1 NOT NULL,
ART_QTY INTEGER NOT NULL,
ART_SELECT SMALLINT NOT NULL
);

CREATE PROCEDURE TRANSFERT AS
DECLARE VARIABLE ART_CODE CHAR(20) CHARACTER SET DOS850;
DECLARE VARIABLE ART_NAME CHAR(50) CHARACTER SET DOS850;
DECLARE VARIABLE ART_UNIT CHAR(15) CHARACTER SET DOS850;
DECLARE VARIABLE ART_PLACE CHAR(15) CHARACTER SET DOS850;
DECLARE VARIABLE ART_QTY CHAR(6);
BEGIN
FOR SELECT ART_CODE,ART_NAME,ART_UNIT,ART_PLACE,ART_QTY
FROM IMPORT
INTO :ART_CODE,:ART_NAME,:ART_UNIT,:ART_PLACE,:ART_QTY
DO
BEGIN
INSERT INTO ARTICLES (ART_CODE,ART_LIB,ART_UNIT,ART_PLACE,ART_QTY,ART_SELECT)
VALUES (TRIM(:ART_CODE),TRIM(:ART_NAME),TRIM(:ART_UNIT),TRIM(:ART_PLACE),CAST(:ART_QTY AS INTEGER),0);
END
END;

EXECUTE PROCEDURE TRANSFERT;

DROP PROCEDURE TRANSFERT;

DROP TABLE IMPORT;

ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ART_CODE, ART_PLACE);


Enfin bref ça marche, mes accents remontent corretement maintenant

A+
sergio_is_back est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h04.


 
 
 
 
Partenaires

Hébergement Web