|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Salut a tous,
Je viens de telecharger Firebird 1.5 parce que j'ai besoin d'une DB robuste et facile a deployer. J'ai choisi de le tester parce qu'un grand nombre de posts sur ce forum en dise du bien... donc pkoi pas! 8) Mais voila ma db s'integrerait dans une application que je suis en train de developper et se deploierait depuis un setup, truc tout bete... mais j'arrive pas a trouver la procedure de deploiement d'une db firebird!!! J'ai probablement pas chercher au bon endroit... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Il y a très peux de doc en effet sur la partie embedded de firebird. C'est une des nouveautées de la version 1.5.
Mais il me semble que sont déploiement ne nécéssite que la copie d'une DLL dans le répertoire de l'application. (Embedded.dll à renommer en GDS32.DLL) |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Pardonne ma curiosite mais pourquoi faut il renommer la DLL pour deployer l'application?
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
La plupart des drivers permettant un accès à Interbase en natif utilise les API contenue dans la GDS32.DLL.
Embedded.dll contient les mêmes API que dans GDS32.DLL à la différence qu'il n'envoient pas d'ordres à un serveur mais les traite directement en locale. Si vous utilisez un driver dans lequel vous pouvez préciser le nom de la librairie cliente d'interbase alors il est inutile de la renommer. Mais par exemple pour les IBX ceux-ci font appel aux API contenues dans GDS32.DLL donc il va chercher cette DLL, s'il ne la trouve pas votre programme ne marchera pas. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : avril 2004 Messages : 121 ![]() |
Bonjour,
Bien que nouvel utilisateur de Firebird, je vais tenter une réponse, en espérant ne pas raconter de bêtises... Merci à Barbibulle ou un autre de rectifier si besoin ! La base Firebird étant une base client/serveur, un serveur résident est lancé, et une dll permet les échanges entre le programme client et le serveur. Pour une application "stand alone" qui remplit à la fois la fonction de client et de serveur, il faut donc une dll qui assure les deux fonctions. L'application faisant normalement appel à gds32.dll comme cliente firebird, il faut en fait une dll de même nom qui implémente à la fois les fonctions de client et de serveur. D'où nécessité de renommer, la machine de développement comportant normalement déjà une gds32.dll cliente seulement. [EDIT] Barbibulle est plus rapide Bon, je n'avais pas trop raconté de bêtises, apparemment ! [/EDIT]
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi ! Albert Einstein. |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Ok donc si je vous suis bien, dans le cas d'une application asp.net, pour le deploiement je cree un dossier ou je place mes pages asp plus la db Firebird et je copie GDS32.dll (Embedded.dll renomme) plus ma dll ado.net pour Firedbird dans le dossier Windows <system> et tout devrait bien se passer?
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Vous parlez d'ASP.NET, et ca me fait un peu peur, vous êtes certain que c'est la version embedded qu'il vous faut ? |
|
|
|
00
|
|
|
#8 | |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Citation:
Imposible de travailler avec une base basé sur un CHARSET prècis. Le pilote refuse le paramètre du type : codepage=WIN1252 Si on omet le paramètre: un SELECT * FROM MATABLE va fonctionner. Mais dès que l'on met une clause WHERE ou ORDER c'est fini. Il semble qu'en ajoutant la fbintl.dll (issue de distribution normale du serveur) certains ai réglé le problème. Perso j'ai réglé en ne précisant pas de CHARSET au moment de la création de la base - mais ce n'est pas sans conséquence.
__________________
-- vanquish |
|
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
A priori Interbase client ne sera pas installe sur le poste cible.
Et je pensais a la version Embedded parce que j'aimerais avoir kkchose de simple a installer. La personne qui va deployer ma web application ne sera probablement pas tres tres skilled en gestion de database et pour cette raison je voulais m'orienter vers quelque chose de plus "Desktop database" type ou il y a un fichier db + une dll pour le tout. En plus ils ont un processus de backup tous les soirs, donc il faut une database qui soit facile a localiser et a sauvegarder. (Par contre j'ai un doute sur le faite de restorer la database juste par xcopy le fichier backup dans le cas d'un crash...) Mais si tu penses que je fais erreur, je serais heureux que tu me rediriges vers la solution la plus adequate! |
|
|
00
|
|
|
#10 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 | |||
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Citation:
En plus du fbembed.dll éventuellement renommé en gds32.dll (voir fbclient.dll tout dépend avec quoi on se connecte), il faut créer un sous dossier "intl" et y placer fbintl.dll On peut aussi créer un sous dossier "udf" qui va contenir fbudf.dll (certaines fonctions SQL sont en fait des UDF standard) Soit pour une installation Firebird 1.5 embedded complète : Code :
__________________
-- vanquish |
|||
|
|
00
|
|
|
#12 | |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Citation:
En gros cela prècise comment vont être codifier les caractères accentués. Ca peut avoir de l'importance sur les instruction de tris de façon à ce que l'ordre alphabétique soit du type aàbcdeéèfgh ... et non abc..xyzàéè
__________________
-- vanquish |
|
|
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Oahhhh
|
|
|
00
|
|
|
#14 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Citation:
Et juste pour information comment tu fais pour ne pas preciser de character set a l'installation? |
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
La version Embedded de firebird, c'est une nouveauté, et elle comporte en effet quelques inconvéniants / limitations.
Elle est à reserver je pense pour des cas bien particuliers comme par exemple une application qui aurait besoin de pouvoir s'exécutée sur un CDROM (programme et base de données de type présentation catalogue) sans devoir installer quoique ce soit sur les poste voulant consulter le catalogue. Pour ce qui est le l'installation de firebird, c'est probablement une des plus simple de tous les SGBD. Elle peut etre faite de diverses manières : En utilisant le programme d'installation standard. Mais aussi par programmation (des composants dans Delphi/BC++ permettent une installation serveur/client). Mais aussi il existe des scripts d'installation silencieuse compatibles avec la plupart des installateurs. Je vous conseil donc plutot de vous orienter vers une tel solution. 1-Vous n'allez pas "essuyer les platres" de la version Embedded qui est encore jeune. 2-Vous ne vous limiterez pas et votre applicatoin restera ouverte très facilement vers du multi-poste et/ou base déportée sur un serveur. Par contre si vous voulez bénéficier pleinnement d'une base de données client/serveur (et ca c'est valable quelque soit le SGBD) je vous conseil d'approfondir vos connaissances dans le domaine. On trouve hélas pas mal d'applications qui utilisent un SGBD avec des tables comme si c'était juste des fichiers... C'est bien dommage et surtout on perd une grosse partie de l'interret d'utiliser un SGBD. Pour ce qui est du CHARSET c'est ce qui permet de dire au SGBD quel type d'alphabet les colonnes chaine de caractères peuvent contenir. Par exemple en anglais il n'y a pas d'accent. Le charset va également déterminer la manière de trier les donnnées (lorsqu'on demande un tri). Par exemple si on doit faire une différence entre les majuscules/minuscules, et les accents. On peux évidemment s'en passer par exemple en enregistrant toujours les chaines en majuscule et donc sans accent. Bien entendu celà implique d'obliger les saisie en majuscule et les restitutions se font également en majuscule. C'est moins beau mais ca marche. |
|
|
00
|
|
|
#16 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Citation:
|
|
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
La copie de fichier n'est pas recommandée même si ca va marcher. Pour plusieurs raisons :
1- S'il y a des connexions à la base pendant la copie... Attention... 2- La base n'est jamais nettoyée 3- La sauvegarde sera grosse (la taille de la base) Pourquoi un backup : 1- On peut le faire alors que des personnes travaillent sur la base (c'est une des spécificitées et force de Firebird/Interbase) 2- Permet de nettoyer un peu la base en même temps. 3- Le backup est plus petit de la base donc plus facilement archivable ou zippable. Le backup n'est pas non plus une opération complexe, il peut etre fait par programmation également et donc se résumer à un clique sur un bouton de votre application. Sinon il existe même un logiciel open source qui fait des backups automatiquement à période déterminée. Pour ce qui est de la restoration là les deux méthodes se vallent car il faut impérativement que personne ne se connecte (ou soit connecté) sur la base pendant cette opération. Par contre le retore créera une base bien netoyée, plus saine et mieux optimisée. Un bon backup/restore de temps en temps fait du bien à la base. De plus si vous êtes capable de lancer des lignes commandes depuis votre appli, vous pouvez plutot que d'executer un xcopy lancer les utilitaires en ligne de commande en passant en paramétre tout ce qu'il faut évitant à vos utilisateur de répondre à des questions qu'il ne comprendrait peut etre pas. Bref là encore mon conseil c'est d'utiliser plutot les outils de backup/restore de firebird plutot que la copie de fichier |
|
|
00
|
|
|
#18 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2002 Messages : 34 ![]() |
Citation:
Donc le mieux ca serait un appelle avec ligne de commande... mais je sais pas si l'administrateur client laissera assez de droits au compte ASP.Net pour pouvoir executer en ligne de commande, ce qui voudrait dire que je dois fournir un utilitaire type Windows Form pour faire le backup/restore. Ma foi c'est tres faisable surtout si je peux beneficier d'une base de meilleure qualite qu'Access... Il me reste plus qu'a trouver des exemples de connexion a la base depuis ADO.Net et je suis bon pour faire des tests. Je reviendrai donner les resultats de mon experience ASP.Net / Firebird, en tout cas merci Barbibulle, merci Vanquish! |
|
|
|
00
|
|
|
#19 | |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Citation:
Il faut refournir ce paramètre (le même de préference) au moment ou tu te connecte à la base. Pour le reste je suis assez d'accord avec barbibulle, même si je suis plutôt confiant quant à la stabilité (la version embedded cela reste Firebird à 99.9%) et un programme écrit sur la base de la vesrion embedded reste très ouvert puisque la version embedded c'est quand même Firebird. On déploie fbembed.dll à la place de fbclient.dll, mais ton application peut rester la même à la ligne de code près. Donc tout dépend de ce que tu fais exactement. Un petit freeware qui a besoin de gèrer quelque tables. Tu ne vas peut-être pas obliger les gens qui vont tester ton produit à installer un serveur SQL (aussi léger fut-il). Mais si c'est plus lourd, tu n'as pas grand chose à perdre et tout à gagner à utiliser la version complète de Firebird.
__________________
-- vanquish |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com