nico_fip1
Messages postés80Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention26 septembre 2006
-
22 févr. 2006 à 14:57
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 2011
-
23 févr. 2006 à 17:31
Bonjour,
Je démarre en systeme de base de données et je me pose plusieurs questions.
Je souhaite créer une base de donnée avec C#.
Pour pouvoir être indépendant du serveur, je pense utiliser les ODBC. (Mes essais se font sous MySQL)
Comment faire pour créer la structure de la base par mon application ?
Ce que j'ai fait pour le moment, c'est envoyer des requêtes SQL du type "CREATE TABLE", "ADD FIELD", ... ...
Le problème de cette méthode, c'est que c'est horiblement long (chaque requête prend un temps fou) ; pourtant, je suis connecté à un serveur local.
Si je crée dans un DataSet toute cette architecture, est-il possible de l'envoyer à un serveur de base de données, à l'origine vierge de tables ?
Est ce que stocker les données sous forme de fichiers "xml" est une méthode "intéligante" ? Dans ce cas là, plus de base de données .... ...
Je suis ouvert à toutes vos suggestions et remarques
Merci d'avance pour vos conseils
Remarque : Il s'agit d'une base contenant une dizaines de petites tables (100 lignes environs chacune, et qui n'évoluent quasi jamais), et 2 grosses table (plusieurs milliers d'enregistrements)
nico_fip1
Messages postés80Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention26 septembre 2006 22 févr. 2006 à 16:51
En fait, ce que je cherche à faire, c'est que mon CODE crée la base de données. En effet, celle si sera amenée à évoluer. Donc mon application doit être capable de mettre à jour l'architecture de façon automatique.
P.S : J'ai potassé plein de doc sur l'ADO.Net. Mais je ne sais pas quelle est la meilleur solution pour mon problème. Comme dit précédement, je ne sais pas si c'est "propre" d'utiliser par exemple un fichier XML comme SGBD...
ProphetKy
Messages postés100Date d'inscriptionsamedi 11 janvier 2003StatutMembreDernière intervention16 juin 20062 22 févr. 2006 à 16:56
perso je suis contre le XML comme SGBD, car malgré tout cela reste un fichier texte et en terme de performance pour 100 à 1000 records je le conseil pas.
nico_fip1
Messages postés80Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention26 septembre 2006 23 févr. 2006 à 12:49
Merci Arthenius,
Après avoir fait pas mal d'essais, je me suis rendu compte qu même avec le Provider de MySQL, chaque requête est assez lente.
En faisant un DataSet, c'est très rapide. Mais bien sûr, que faire de cette base, qui n'est que "virtuelle".
Mon objectif serait d'executer une seule requète de mise à jour de la base à partir de mon DataSet.
nico_fip1
Messages postés80Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention26 septembre 2006 23 févr. 2006 à 15:29
Pour le moment, je n'ai pas de base de donnée. Je fait simplement un DataSet que je remplis par mon code.
J'ai donc toute une architecture, avec données, dans le DataSet.
Ce que je souhaite faire, c'est placer tout ça dans une base de données, à laquelle j'accède par ODBC.
J'ai regardé du coté de DataAdapter, mais cette objet ne permet, si j'ai bien compris, que de synchroniser un DataSet et une base de données qui ont la même architecture.
nico_fip1
Messages postés80Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention26 septembre 2006 23 févr. 2006 à 17:23
Solut Tü
Merci pour ces infos.
Pour le connecteur natif, je sais que c'est BEAUCOUP plus rapide.
Le problème,c'est que je doit faire une appli suceptique de s'adapeter à n'importe quelle source de données. Tu vois donc le soucis...
Je pense eventuelement faire des Dll avec les différents connecteurs Natifs.
Lors de l'installation, on choisi laquelle installer. Dans ce cas, on garde la souplesse, et on gagne la vitesse.
Le pb, c'est qu'il faut du temps pour dévellopper toutes les dll, et les valider...