Bonjour JP,
Si ta base fdb est si grosse, c'est parce qu'elle a été construite avec une taille de page de 16384 octets. En la restaurant depuis le fbk avec FlameRobin tu as une option pour la reconstruire avec une taille de 4096 octets (bien que 1024 et 2048 soient proposés, il semble que 4096 soit le mini et la taille par défaut avec FB2.5). Ta base passeras alors de 2768ko à 784ko.
Pour éviter de créer la base avec une taille de page si importante, il faut déjà modifier le paramètre PAGE_SIZE utilisé uniquement lors de la création. Par contre dans la partie restauration de la fonction RecreateDB je n'ai pas trouvé de paramètre PAGE_SIZE à appliquer au TFBAdmin qui permettrait de restaurer le fbk avec une nouvelle taille de page. Pourtant ce paramètre existe bien dans FlameRobin et dans les UIBRestore.
J'avais déjà vu ton projet (sans doute sur ce forum) mais uniquement dans sa version sqlite.
Comme FB serveur est installé sur mon poste, je me suis dit qu'il serait utile de faire fonctionner ton projet sans nécessiter l'installation de FB embedded dans son répertoire.
Je te conseillerai de toujours laisser le mot de passe de connexion par défaut 'masterkey' au lieu de le laisser vide. Il est inutile avec FB embedded, mais avec FB serveur le MdP est indispensable. 'masterkey' est celui utilisé par défaut lors de l'installation. Il est évidemment fortement conseillé de le changer ensuite si le poste est accessible par le réseau, mais au moins ceux qui n'utilisent FB serveur que localement ne seront pas gênés.
Mais pour le moment, avec ou sans FB embedded je suis toujours bloqué. Mais peut-être est-ce dû au fait que j'utilise Lazarus 1.5 et FPC3.1.1 tous deux mis à jour avec le trunk SVN ?
Si fdb n'existe pas il semble que l'erreur n'est pas du type EIBDatabaseError, et si fdb existe tout reste bloqué sans message même en pas à pas dans le débugger après l'ouverture de SQLQuery1.
A suivre
André
PS: BigChimp connaissait déjà les problèmes de Lazarus avec les lignes de commentaires dans le SQL signalé dans mon précédent message:
"Scripter.CommentsInSQL := false; //needed to circumvent bugs in TSQLScript "
Partager