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 :

Connexion à la base de données SQL Server


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Connexion à la base de données SQL Server
    Bonjour,
    Pour rapide et clair, je n'arrive pas à me connecter à ma base de données SQL Server.
    Je développe mon programme sur un ordinateur et la base de données se trouve sur un server.
    J'aurais besoin de vos lumières pour m'aider à m'y connecter.
    Erreur dans la chaine de connexion ? Erreur dans la manière de se connecter ? Je ne sais pas.

    Voici mon code qui concerne toute la procédure pour avoir accès au logiciel (sachant que je ne souhaite pas utilisé l'authentification windows mais l'authentification SQL Server):
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Imports System.Data.SqlClient
     
    Public Class Base_de_donnees
        Dim sCnx As String
        Dim Cnx As SqlConnection
        Dim da As SqlDataAdapter
        Dim cb As SqlCommandBuilder
        Dim ds As DataSet
        Dim bs As BindingSource
     
        Public Sub Base_de_donnees()
            sCnx = "Persist Security Info=False;User ID=identifiantSqlServer;Password=motDePasseSqlServer;Initial Catalog=nomDeLaBaseDeDonnee;Server=nomDuServer;"
            Try
                Cnx = New SqlConnection(sCnx)
            Catch generatedExceptionName As Exception
                Throw New Exception("Erreur de connexion.")
            End Try
        End Sub
     
        'Cette fonction me permet de vérifier si l'identifiant et le mot de passe entré existe dans la base de donnée et donc si on donne accès au logiciel ou non
        Function verification_login_utilisateur(ByVal id As String, ByVal mdp As String) As Utilisateurs
            Dim utilisateur As New Utilisateurs()
            Dim requete_utilisateur As String
            requete_utilisateur = "select * from utilisateur where id = '" & id & "' and mdp='" & mdp & "'"
            da = New SqlDataAdapter(requete_utilisateur, Cnx)
            cb = New SqlCommandBuilder(da)
            ds = New DataSet("utilisateur")
            da.Fill(ds, "utilisateur")
            'Si aucun enregistrement est trouvé on retourne null
            If ds.Tables.Count = 0 Then
                Return Nothing
            Else
                'Sinon on créer une personne et on la retourne
                For Each table As DataTable In ds.Tables
                    For Each row As DataRow In table.Rows
                        utilisateur.PNo_utilisateur = CInt(row(0))
                        utilisateur.PId = DirectCast(row(1), String)
                        utilisateur.PMdp = DirectCast(row(2), String)
                    Next
                Next
                Return utilisateur
            End If
        End Function
     
    End Class
    Merci d'avance.
    Si vous avez besoin de plus de renseignements je suis là

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    installe studio management sur le poste, si tu n'arrives pas à te connecter depuis c'est que sql server est pas configuré pour les connexions distantes

    si ca marche et que ca met plus de 2 secondes avant de passer dans le catch c'est que la chaine de connexion n'est pas bonne

    sinon il aurait été intelligent de nous donner le message d'erreur "impossible de localiser l'instance" ou "échec de l'authentification pour le user"

    si ton server sql a une instance nommé c'est nom_du_pc_ou_ip\nom_instance
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je pense qu'il n'est pas nécessaire que j'installe studio management sur mon poste car SQL Server est déjà utilisé avec d'autre base de données donc il doit être bien configuré pour les connexions distantes non ?

    Ca ne passe pas dans le catch. L'erreur survient au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da.Fill(ds, "utilisateur")
    L'erreur est la suivante:
    L'exception InvalidOperationException n'a pas été gérée
    Fill: la propriété SelectCommand.Connection n'a pas été initialisée.
    Mais le soucis c'est que quand je suis en mode débug et que j'ai lancé mon programme si je passe ma souris sur ma chaine de connexion sCnx il me met Nothing et pareil pour Cnx. Et c'est donc pour cela que l'erreur survient au niveau de da.Fill(ds, "utilisateur") puisqu'il n'a pas pu se connecter. C'est pour cela que je pense que ma connexion ne doit pas être correcte.

    Pour ta dernière phrase je n'en sais rien du tout.

    Merci pour ton aide.
    Dernière modification par Deepin ; 16/06/2011 à 12h22. Motif: Balises [QUOTE]...[/QUOTE]

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pas fait gaffe au code ... il te manque le .open après le new sqlconnection
    et il faut appeler la sub qui créé la connexion
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Invité
    Invité(e)
    Par défaut
    Donc j'ai rajouter
    après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cnx = New SqlConnection(sCnx)
    dans mon try

    Peux-tu m'éclairer plus sur "appeler la sub qui créé la connexion"
    Ma Sub Base_de_donnees() crée la connexion mais elle est en public alors pourquoi l'appeler puisque je suis dans la même classe ?

    Sinon j'ai toujours Nothing quand je pointe sur Cnx

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    impressionnant comme question !

    un cours sur vb.net :
    http://plasserre.developpez.com/cours/vb-net/
    en espérant que ca suffise ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/05/2007, 14h34
  2. Connexion à une base de données SQL Server
    Par tsdia2 dans le forum Accès aux données
    Réponses: 5
    Dernier message: 06/04/2007, 11h32
  3. [SQL-Server] Connexion à une base de donnée SQL Server
    Par dieudo dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/05/2006, 14h00
  4. Réponses: 1
    Dernier message: 09/05/2006, 16h31
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

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