IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

Fonction Trim inconnu


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut Fonction Trim inconnu
    Bonjour

    Je voudrais enlever les espaces en fin de champs et toutes les instructions suivantes testées sur une DB Firebird 1.5 via l'éditeur SQL de ibexpert donnent le message function unknown.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct trim(RefCadCle) from "TableBien"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct rtrim(RefCadCle) from "TableBien"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct ltrim(RefCadCle) from "TableBien"
    Pourtant, d'après la doc, les deux dernières fonctions au moins devraient être en standard dans firebird.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Les fonctions RTRIM et LTRIM sont des UDFs contenues dans ib_udf.dll.

    @+ Claudius

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Mon application, qui tourne sous Delphi, installe Firebird comme service.
    Ce service est bien entendu fermé avec mon application.

    Comme ExecSql de l'instruction en question débouche sur une erreur, je ne ferme pas mon application pour que Firebird reste actif, j'ouvre IbExpert et je l'exécute avec le même résultat.

    Je ne pense dès lors pas avoir la maitrise de l'utilisation de fbudf.dll.

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Les fonctions UDFs doivent être définies pour chacune de tes bases de données qui les utilisent.

    Depuis IBExpert pour ta base de données tu définis une nouvelle UDF.
    Pour exemple voici la définition de la fonction RTRIM:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DECLARE EXTERNAL FUNCTION RTRIM
        CSTRING(255)
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'IB_UDF_rtrim' MODULE_NAME 'ib_udf'
    [edit] dans le sous-dossier UDF de ton install Firebird, tu as des scripts tout prêts qui déclarent les fonctions à ta place. [/edit]

    @+

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par defluc
    Mon application, qui tourne sous Delphi, installe Firebird comme service.
    Ce service est bien entendu fermé avec mon application.
    et c'est quoi l'interêt de fermer le service ?

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    L'intérêt de fermer le service, c'est de ne pas maintenir une machine encombrée alors que ce n'est pas nécessaire puisque l'application appelante est elle même fermée.

    Pour le reste, l'UDF est définie mais son appel génère le message d'erreur suivant
    Unsuccessful execution caused by a system error that precludes
    successful execution of subsequent statements.
    Access to UDF library "FbUDF.DLL" is denied by server administrator.
    , ce qui est logique puisque IBexpert ignore où se trouve la dll.

    Y-a-t-il un répertoire par défaut où cette dll pourrait être copiée lors de l'installation de l'application.

  7. #7
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    je maintiens, aucun intéret le service dans ce cas
    il vaut mieux utiliser la version embeded si c'est pour faire du mono poste

Discussions similaires

  1. Portage d'une base : Fonction "TRIM" inconnu
    Par com-ace dans le forum Access
    Réponses: 1
    Dernier message: 26/11/2007, 22h01
  2. Réponses: 3
    Dernier message: 07/09/2005, 09h55
  3. fonction trim
    Par didier.cabale dans le forum SQL
    Réponses: 3
    Dernier message: 25/01/2005, 10h15
  4. Equivalent de la fonction trim
    Par PCHINK dans le forum C
    Réponses: 6
    Dernier message: 21/03/2004, 18h02
  5. Fonction port Inconnue...
    Par Nounours666 dans le forum Langage
    Réponses: 3
    Dernier message: 08/08/2002, 17h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo