cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 2007
-
7 avril 2007 à 14:47
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 2007
-
10 avril 2007 à 16:47
Bonjour à tous,
j'ai besoin d'une base de données sous forme de fichiers accessible via JDBC, j'avais pour celà téléchargé SQLite qui au demeurant n'est pas mal mais qui me pose quelques problèmes (peut-être dus au fait que je ne sais pas encore bien l'utiliser ???). En effet, voici mes contraintes techniques:
- L'appli doit être executées sous Windows, Linux ou Mac, la base doit donc être utilisable sous ces 3 environnements.
- La base doit gerer la commande SQL REPLACE() pour remplacer des caractères dans un champ donné (obligatoire car recherche sur des n° de téléphone)
- La base doit gerer les fonction STR_TO_DATE() et DATE_TO_STR()
- Dans l'idéal, il me faudrait pouvoir faire une union sur 2 tables se trouvant dans 2 bases (donc 2 fichiers)
A la limite, si les commandes REPLACE(), STR_TO_DATE() et DATE_TO_STR() n'existent pas en tant que tel, ce n'est pas "très" grave du moment qu'elle ont un équivalent.
Dans le pire des cas, s'il n'est pas possible de joindre 2 bases, je peux essayer de faire avec.
En fait ce qu'il se passe c'est que l'application doit pouvoir indifférement accéder à une base MySQL ou à une base sous forme de fichier (dans les cas d'ordis ne se trouvant pas sur un réseau) via la configuration d'un fichier ini. Les requètes étant jusqu'à maintenant stockées dans un fichier pour MySQL, je cherche à rajouter la fonctionnalité de base fichier.
Si au passage vous saver comment faire une jointure sur 2 bases (donc 2 fichiers) merci de me l'indiquer.
Voilà donc, ce que j'aimerais, ce sont vos conseils pour me dire vers quelle base fichiers me tourner, ou si éventuellement je dois rester avec SQLite, merci de m'aider.
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 20072 10 avril 2007 à 16:47
Pour ceux que celà interesseraient, la base Derby est super, il y a bien quelques petits inconvénients, mais si on veut une base embedded c'est à mon avis le top. Pour ce qui est de faire des requetes multi-base, Netbeans le gère, il ne me reste donc plus qu'à comprendre comment il fait.
Pour ceux qui cherchent à importer du code SQL directement depuis MySQL (création de Tables, ...) y a des petites modifs à faire mais c'est vite fait par Rechercher/Remplacer.
Sinon, toute la puissance de Java est là pour créer des fonctions...
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 20112 7 avril 2007 à 16:26
Salut,
En effet, voici mes contraintes techniques:
- L'appli doit être executées sous Windows, Linux ou Mac, la base doit donc être utilisable sous ces 3 environnements.
Aucun problème au niveau de Java de ce point de vue, tout est entièrement détacché de l'OS comme du SGBD. Après, tupeux très bien avir un SGBD différent par système, en codant proprement un fichier de properties permet de charger automatiqement le pilote JDBC qui va bien. En gros, en tant que programmeur t n'as pas à te soucier de sur quoi ça va tourner.
-
La base doit gerer la commande SQL REPLACE() pour remplacer des
caractères dans un champ donné (obligatoire car recherche sur des n° de
téléphone)
- La base doit gerer les fonction STR_TO_DATE() et DATE_TO_STR()
Je peux me tromper, mais là encore, c'est de l'implementation qui ne te concerne pas... tout au plus, c'est une contrainte au niveau du choix du SGBD à employer (et là j'peux pas t'aider vu queles specs des SGBD, j'les connais pas :P), mais ça n'influance pas, à mes yeux, le code source de l'appli...
- Dans l'idéal, il me faudrait pouvoir faire une union sur 2 tables se trouvant dans 2 bases (donc 2 fichiers)
Ça, j'ai bien peur que ce soit de la synchronisation de données et donc un thème de recherche...
Les requètes étant jusqu'à maintenant stockées dans un fichier pour
MySQL, je cherche à rajouter la fonctionnalité de base fichier.
Mauvaise idée^^ Stocke plutot l'url JDBC de ta base et le nom du pilote à charger dans ce fichier .ini, et arrange toi pour avoir le même schéma de tables partout . Coder les requêtes en brut n'est pas handicapant dans la mesure ou l'architecteure de tes tables est censée être fixée au moment ou tu réalises le code métier.
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 20072 7 avril 2007 à 17:09
Re bonjour à tous et merci à gmi19oj19 de m'avoir déjà répondu.
Juste après avoir laissé ce post, j'ai trouvé la base Derby de Apache, je ne sais pas encore si elle est complètement adaptée à mes besoins, donc si quelqu'un pourvait m'aider ...
D'ailleurs est-ce que quelqu'un aurait une idée sur comment (bein du coup par exemple avec Apache derby) faire une jointure sur 2 bases ???
Sur MySQL, je me connecte via jdbc:mysql:{host}
puis après chauqe requête est formée FROM {base}.{table} mais là je vois pas comment faire ...