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

QxOrm Discussion :

Problème avec le IxClass::getSqlType


Sujet :

QxOrm

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut Problème avec le IxClass::getSqlType
    Hello !

    Je crois qu'il y a un bug avec l'utilisation de PostgreSQL, lorsque je crée ma base de donnée, à l'appel de IxClass::getSqlType, j'obtiens des types incorrects... Par exemple: INTEGER au lieu de INT (ou SMALLINT au lieu de BOOLEAN).

    Que faire docteur ?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 482
    Par défaut
    Tu utilises le driver ODBC non ?
    Si c'est le cas, je te conseille d'utiliser le driver natif pour PostgreSQL, tu auras de meilleures performances.
    De plus, si tu définis le driver QPSQL, la bibliothèque QxOrm saura que tu travailles avec PostgreSQL pour adapter certaines fonctions SQL (et également les types SQL valides pour une base PostgreSQL).

    Dans tous les cas, QxOrm utilises l'interface qx::dao::detail::IxSqlGenerator pour définir tout ce qui est spécifique à un SGBD.
    Si tu utilises ODBC pour te connecter sur ta BDD, tu dois préciser à la bibliothèque QxOrm qu'il s'agit de PostgreSQL de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qx::QxSqlDatabase::getSingleton()->setSqlGenerator(new qx::dao::detail::QxSqlGenerator_PostgreSQL());
    Tu peux également créer ton propre SqlGenerator en implémentant l'interface qx::dao::detail::IxSqlGenerator si la classe qx::dao::detail::QxSqlGenerator_PostgreSQL ne te convient pas.

    Sinon, si les types SQL définis par défaut ne te conviennent toujours pas, il est toujours possible de les modifier très facilement, rendez-vous sur la FAQ de QxOrm pour plus de détails : Comment associer un type SQL à une classe C++ ?
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut
    Heu... Je dois t'avouer que je ne sais pas:

    J'ai fait un apt-get install libqt4-sql-psql, et je fais un setDriverName( "QPSQL" );

    Je ne sais pas trop ce qu'est ODBC...

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Par défaut
    La ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    qx::dao::detail::IxSqlGenerator_ptr sqlGen( new qx::dao::detail::QxSqlGenerator_PostgreSQL() );
                qx::QxSqlDatabase::getSingleton()->setSqlGenerator( sqlGen );
    semble résoudre mon problème !

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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