1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2017
    Messages : 79
    Points : 53
    Points
    53

    Par défaut Créer une BDD SQL server 2008 R2 à partir du code dans VB Express 2010

    Bonjour à tous,
    Je précise d'emblée que je suis débutant donc ne m'en voulez pas si je semble à côté de la plaque ...
    Voilà j'ai créer une application sur VB 2010 Express qui utilise une BDD SQL server 2008 R2. J'ai donc créé ma BDD directement dans le Management studio de SQL server 2008 R2 et tout fonctionne bien.
    Maintenant je souhairerais pouvoir créer ma BDD directement dans le code de mon appli sans passer par Management studio.
    J'ai consulté le cours de Philippe LASSERE mais je n'y arrive pas.
    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    LigneDOSSIER.SOURCE="localhost"
    LigneDOSSIER.BDDSQL="Essai"
    LigneDOSSIER.LOGIN="sa"
    LigneDOSSIER.MDP="PWD"
     
    ConnexionString = "Data Source=" & LigneDOSSIER.SOURCE & ";Initial Catalog=" & LigneDOSSIER.BDDSQL & ";User Id=" & LigneDOSSIER.LOGIN & ";Password=" & LigneDOSSIER.MDP & ";" & "Integrated Security=SSPI"
     
            Dim strSQL As String = "IF EXISTS (" & "SELECT * " & "FROM master..sysdatabases " & "WHERE Name = 'HowToDemo')" & vbCrLf & "DROP DATABASE HowToDemo" & vbCrLf & "CREATE DATABASE test"
     
            Connexion = New SqlConnection(ConnexionString)
     
            Dim cmd As New SqlCommand(strSQL, Connexion)
     
            Connexion.Open()
     
            cmd.ExecuteNonQuery()
     
            Connexion.Close()
    J'ai le message "Impossible d'ouvrir la base de données "Essai" demandée par la connexion. La connexion a échoué."

    Comme je n'y connais pas grand chose, je dois avoir fait n'importe quoi. Quelqu'un pourrait-il m'aider en me filant un code corrigé ?

    Un grand merci d'avance ...

  2. #2
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    Bonjour, je ne pense pas que ce soit une si bonne idée que ça de créer une base de données par programmation même si cela reste possible, le mieux serait de faire la manipulation en vous connectant vous même à MSSQL.

    Si vous voulez créer une base de données par programmation, la 1ere question qui se pose est de savoir si votre compte utilisateur a les droits d’exécuter une telle requête et même si ce compte utilisateur a les droits, vous avez également la gestion des utilisateurs, des autorisations, et tout et tout.

    Concernant le soucis de connexion par programmation, faites vous même le test de connexion par l'interface, si ça ne marche pas, c'est que les identifiants ne sont pas les bons
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2017
    Messages : 79
    Points : 53
    Points
    53

    Par défaut

    J'ai déjà créé une base par l'intermédiaire du manager et mes identifiant et mot de passe sont corrects. Là maintenant il s'agit pour moi de créer d'autres bases automatiquement par programmation ... Donc je pense que mon code n'est pas correct et c'est à ce sujet que je demande de l'aide. ..

  4. #4
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    justement, créer une base de données n'est pas la seule chose à faire, il faut que vous vous connectiez à MSSQL avec un compte utilisateur ayant les droits d'administrer les bdd, et il faudra autoriser l'accès à votre nouvelle base de données, et ça, par programmation, c'est presque mission impossible.

    Si vous ne savez pas administrer les bases de données, vous allez devoir vous rendre dans la section Administration
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2013
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2013
    Messages : 94
    Points : 103
    Points
    103

    Par défaut

    Je tombe sur cette discussion un peu tard . alors il est question pour notre débutant de créer une base de données par le code VB.net, c'est très bien possible. Mais c'est du boulots, La première des choses en exécutant ton application, il faut le faire en tant qu'administrateur
    Voici un test: importer l'espace de nom sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim cn=  new sqlconnection("server=.\sqlepress; database=""; integrated sécurité="SSPI"")
    cn.open
    Dim SQL as string="use master GO create database nom_base "
    Dim cmd =new sqlcommand(sql,cn)
    cmd.executenonquery()
    cn.close
    Essaye ceci et on verra une autre manière complète d'avancer

  6. #6
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2017
    Messages : 79
    Points : 53
    Points
    53

    Par défaut

    Bonjour et merci doubleface2

    J'ai essayé ton code et j'obtiens ceci :
    Nom : Capture d'écran 2018-01-08 21.41.37.png
Affichages : 76
Taille : 11,8 Ko

  7. #7
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    @Feliperennes : pour mettre le caractère double quote dans une chaine, il faut :
    1) soit mettre 4 doubles quotes à la suite
    2) soit en disant que le caractère double quote a pour code ASCII le 34, ainsi, faire comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim connectionString as string = "server=.\sqlepress; database=" & Convert.ToChar(34) & Convert.ToChar(34) & "; integrated security=" & Convert.ToChar(34) & "SSPI" & Convert.ToChar(34)
    dim cn=  new sqlconnection(connectionString)
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  8. #8
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2017
    Messages : 79
    Points : 53
    Points
    53

    Par défaut

    Bonjour et merci romulus001

    J'ai donc modifié mon code pour tenir compte de la contribution de romulus001
    J'obtiens ceci :
    Nom : Capture d'écran 2018-01-09 20.27.48.png
Affichages : 63
Taille : 36,2 Ko

  9. #9
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    La syntaxe de la chaine de connexion est plutôt comme cela :
    Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=(local)
    Pas besoin de mettre des doubles quotes. Souce
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2013
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2013
    Messages : 94
    Points : 103
    Points
    103

    Par défaut

    j'avais omis dans la chaîne une erreur, en corrigeant ca donne ceci, voici un code complet que j'ai écrit et testé pour toi avec création d'une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    'ceration de la base
     Try
                Dim cn As New SqlConnection("server=.\sqlexpress;database=;integrated security=SSPI")
                cn.Open()
                Dim sql As String = "CREATE database test1"
                Dim cmd As New SqlCommand(sql, cn)
                cmd.ExecuteNonQuery()
                cn.Close()
                MsgBox("bien")
     
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    'création d une table dans la base
            Try
                Dim cn As New SqlConnection("server=.\sqlexpress;database=test1;integrated security=SSPI")
                cn.Open()
                Dim sql As String = "CREATE table client(nom varchar(60),tel varchar(60))"
                Dim cmd As New SqlCommand(sql, cn)
                cmd.ExecuteNonQuery()
                cn.Close()
                MsgBox("bien")
     
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

  11. #11
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    il vous manque la base de données à laquelle vous vous connectez.
    Lisez cet article ou celui ci
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  12. #12
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2017
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2017
    Messages : 79
    Points : 53
    Points
    53

    Par défaut

    Merci Doubleface2,

    J'ai recopié ton code et j'ai ce message d'erreur

    Nom : Capture d'écran 2018-02-05 22.44.36.png
Affichages : 28
Taille : 8,4 Ko

  13. #13
    Membre expérimenté Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (22) sur produits SAGE ligne 100
    Inscrit en
    mai 2009
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (22) sur produits SAGE ligne 100

    Informations forums :
    Inscription : mai 2009
    Messages : 1 142
    Points : 1 305
    Points
    1 305

    Par défaut

    Exemple de chaine de connexion à SQL Server :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Persist Security Info=False;Integrated Security=SSPI;Data Source=xxxxxx;Initial Catalog=xxxxxx
    Bien entendu, il ne vous reste plus qu'à compléter les croix
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/02/2016, 17h03
  2. [Débutant] Gestion des rôles et authentification (couple identificateur stocké dans une BDD SQL Server 2008)
    Par Afaf001 dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 16/09/2014, 14h07
  3. importer une table d'une BDD a une autre SQL SERVER 2008
    Par InfOCynO dans le forum MS SQL-Server
    Réponses: 4
    Dernier message: 03/08/2012, 16h05
  4. Réponses: 2
    Dernier message: 28/05/2011, 15h01
  5. Problème de connexion à une BDD SQL SERVER 2008
    Par idris dans le forum Accès aux données
    Réponses: 1
    Dernier message: 08/09/2010, 17h37

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