Bonjour tout le monde, J'ai un problème que je ne comprends pas très bien.
Mon application utilise actuellement des BDD Paradox pour gérer les tables temporaires. Je doit étudier un moyen de changer ce système par des tables SQLite.
Je dois réaliser une connexion depuis Delphi à une BDD SQLite via un alias ODBC. J'ai donc téléchargé un driver ODBC pour SQLite (http://www.ch-werner.de/sqliteodbc/) et connecté ma base de données via un composant wwQuery (Composant IPAccess du même type que TQuery).
J'ai également essayé avec les composants delphi UNIDac pour une connexion directe, sans passer par l'ODBC.
Jusque là, pas de problème, j'arrive à accéder à mes données avec les deux systèmes.
Mon problème arrive au moment d'accéder à la table système SQLITE_MASTER.
pour la même requête :
je n'obtiens pas le même résultat :SELECT * FROM SQLITE_MASTER
La connexion UNIDac me retourne toutes les colonnes de la table MASTER, soit :
- Type
- Name
- Tbl_name
- RootPage
- SQL
La connexion ODBC via wwQuery ne me retourne que la colonne RootPage. J'ai également remarqué que des query telles que
Ne fonctionne qu'avec UniDac.PRAGMA table_info(NomDeMaTable)
Est-ce que quelqu'un connaît la raison de ce problème? Est-ce normal?
Je sais que je pourrait utiliser UniDac, mais ça signifie changer la totalité de mes composants BDD. Cette opération sera réalisée à l'avenir mais dans un premier temps, j'aimerais simplement garder mes composants pour me connecter à SQLite de la même manière que je le faisait précédemment avec des tables Paradox.
Merci d'avance
Partager