IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Est-ce possible d'ouvrir une base de données SQL avec ADO, et la créer si elle n'existe pas


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut Est-ce possible d'ouvrir une base de données SQL avec ADO, et la créer si elle n'existe pas
    Bonjour à tous,

    J'utilise VB Express 2010 sous Windows XP.

    Est-ce possible, avec des instructions VB 'ADO', de créer un fichier SQL "nomdufichier" s'il n'existe pas, et ensuite l'ouvrir pour pouvoir l'utiliser ?

    En bref:

    1) Si le fichier SQL "nomdufichier.sql" n'existe pas
    - création du fichier "nomdufichier.sql"
    - création de la table (create table, alter table etc...)

    2) Gestion du fichier via "Form1"


    A moins que ce n'est pas la bonne méthode ??

    MERCI pour votre aide SVP.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Il est possible d'exécuter des commandes direct en sql avec ADO.NET (ainsi qu'avec entity Framework au passage) donc en théorie c'est possible.

    Néanmoins il faut se poser la question suivante !

    Est-ce que ça doit gérer aussi l'installation de SQL Server ? Dans ce cas il s'agit d'un problème de déploiement de l'application. Il est plus logique d'inclure l'installation de SQL Server avec celui de ton application. J'avoue que à ce niveau mes connaissances sont un peu limitées donc je vais pas pouvoir aller plus loin.

    S'il s'agit uniquement de créer des bases supplémentaires pour une application multibase (Les programmes comptables adorent créer une base par société (voir par période comptable)) alors il est tout à fait possible d'executer un script de création de base. Faut juste faire attention au fait que l'utilisateur à souvent besoin de droit plus étendu pour cette opération. Par contre comme les objets ADO.NET ne prennent pas des fichiers en paramètre faut charge les requêtes dans une string avant.

    Il est aussi possible de lancer la requête en lançant un process de sqlcmd pour ce genre de truc.

  3. #3
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    c'est faisable un CREATE TABLE est la même chose qu'un SELECT, il est juste interprété différemment par le gestionnaire de BDD

    après personnellement je déconseille de se lancé la dedans (tu essai de réinventer la roue)
    Si on a besoin d'une base pour notre applis qui correspond à nos objet métier alors on utilise EntityFrameWork
    qui va nous crée notre base selon nos objet
    Sinon on utilise les assistants de création en BDD (pour ma part une application découle d'une BDD bien pensé, et non l'inverse)

    si je déconseille ce type d'utilisation, imagine que ton application est amené à bouger alors la pus rien ne marche

    bref c'est ma vision des choses

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci déjà pour vos conseils.
    @ranzoken: Je suis d'accord, il faut un fichier bien pensé MAIS... : je pense qu'il vaut mieux parfois créer des dossiers (directory) différents lorsqu'il s'agit par exemple de fiduciaires comptables ou sociales afin de ne pas mélanger les genres. Et parfois aussi créer de nouveaux fichiers chaque année.
    Mais cela semble compliqué apparemment...

    Merci

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Merci déjà pour vos conseils.
     @ranzoken: Je suis d'accord, il faut un fichier bien pensé MAIS... : je pense qu'il vaut mieux parfois créer des dossiers (directory) différents lorsqu'il s'agit par exemple de fiduciaires comptables ou sociales afin de ne pas mélanger les genres. Et parfois aussi créer de nouveaux fichiers chaque année.
     Mais cela semble compliqué apparemment...
     
     Merci
    En théorie une base de donnée comptable si elle est multisociété/multipériode comptable ça se gère avec une table listant les société et une table listant les période. Certain système préfère créer une base de donnée par société, voir même une base de donnée par période. Ce point de vue peut se défendre avec les arguments suivants :

    - On règle assez facilement les droits sur un serveur SQL au niveau de la base ou d'une table mais c'est plus problématique au niveau de l'enregistrement. Dans le cas ou une table contient des enregistrements comptable de plusieurs sociétés et que des utilisateurs doivent accéder uniquement à des écritures d'une société ça devient un peu chaud à gérer...
    - On backup facilement une base mais pas une partie de cette dernière. On peut donc centrer les backups sur les périodes comptable / sociétés en cours et on peut faire un rollback sur la compta d'une société au lieu de l'ensemble (bon normalement une compta se corriger à l'aide d'écriture corrective et non pas avec des rollbacks....).

    N'importe qui arrivera à sortir des contres exemples ou des arguments de mauvaise fois (pourquoi tu fais pas une base par compte tant que t'y es ?), je met juste en avant des pratiques qui se font sur le marché...

    Ce genre de truc n'est pas particulièrement compliqué, un script de création de base c'est facile à faire et facile a exécuter.

Discussions similaires

  1. [Débutant] Ouvrir une base de données SQL avec ADO, et la créer si elle n'existe pas
    Par ermite67 dans le forum Accès aux données
    Réponses: 0
    Dernier message: 29/09/2014, 11h05
  2. Ouvrir une base de données sql de grande taille (250Mo)
    Par Angerbode dans le forum Administration
    Réponses: 8
    Dernier message: 10/08/2011, 08h40
  3. Réponses: 11
    Dernier message: 24/01/2011, 20h03
  4. Réponses: 0
    Dernier message: 05/02/2010, 17h03
  5. Réponses: 3
    Dernier message: 28/01/2010, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo