Connection sqlserveur 2008 express (Échec de l'ouverture de session de l'utilisa

Signaler
Messages postés
7
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
30 mars 2010
-
Messages postés
15
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
30 novembre 2011
-
Bonjour tout le monde,
Je précise d'entrée de jeux que je suis un "programmeur" trés débutant.
Mon problème est que je n'arrive pas a me connecter a ma base de donnée.

Voici mon code:

Imports System.Data.SqlClient
Imports System.Data
Imports Microsoft.VisualBasic

Public Class Form1

Private Sub ButtonAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAjouter.Click



Dim Numero As Integer
Dim Nom As String
Dim Prenom As String
Dim Adresse As String
Dim CP As String
Dim null As String
Dim cpt As Integer
Dim cpt2 As Integer


null = ""
cpt = 1 'Compteur de boucle'
TBNom.Text = "a"
TBPrenom.Text = "a"
TBAdresse.Text = "a"
TBcp.Text = 1

'Controle des remplissage des textbox'
Do While cpt = 1
cpt2 = 0 'Compteur d'information'

If TBNom.Text = null Then
MsgBox("Erreur aucun nom n'est rentré")
Else
Nom = TBNom.Text
cpt2 = cpt2 + 1
End If

If TBPrenom.Text = null Then
MsgBox("Erreur aucun prénom n'est rentré")
Else
Prenom = TBPrenom.Text
cpt2 = cpt2 + 1
End If

If TBAdresse.Text = null Then
MsgBox("Erreur aucune adresse n'est rentré")
Else
Adresse = TBAdresse.Text
cpt2 = cpt2 + 1
End If

If TBcp.Text = null Then
MsgBox("Erreur aucun code postal n'est rentré")
Else
CP = TBcp.Text
cpt2 = cpt2 + 1
End If

If cpt2 = 4 Then
TBNom.Text = null
TBPrenom.Text = null
TBAdresse.Text = null
TBcp.Text = null
End If
cpt = cpt - 1
Loop

Numero = Numero + 1
'Connection base de donnée
Dim MyConnexion As SqlConnection =
New SqlConnection("
Data Source=localhost\SQLExpress; Database=test2.sdf;
User ID=dbo;
Password=abc123jkl@;")
MyConnexion.Open()
Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
MyConnexion.Close()
MyConnexion.Open()
Dim myReader As SqlDataReader = Mycommand.ExecuteReader()
MyConnexion.Close()


End Sub
End Class

J'ai essaye plein de script différent et rien ne marche...
Svp aidé moi!!
A voir également:

12 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Jette un oeil sur ce site de référence : http://www.connectionstrings.com/sql-server-2005-ce

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
30 mars 2010

D'abord merci pour ta réponse

Ensuite, par rapport au site que tu m'as donne j'ai tenté de changer ma ligne de commande et cela donne

Dim MyConnexion As SqlConnection = New SqlConnection("Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\test.sdf;Persist Security Info=False;"))
MyConnexion.Open()

Et la vb me dit

Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server.
Cont 1
item Pour évaluer une propriété indexée, cette dernière doit être qualifiée et l'utilisateur doit fournir les arguments de manière explicite.

Alors la je suis autant perdu limite je preferais l'echec de connection ^^

Encore un peu d'aide?? svp
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Salut,

Pour les chaîne de connexion, vérifie le nom de ton instance SQL Server > via le gestionnaire de configuration SQL Serveur, ou lors ce que tu ajoute une connexion via visual studio, celui-ci te donne le nom des instances.

En suite utilise

Data Source=nom du poste\NomInstance ou .\NomInstance 
(fonctionne sur tous les postes)

Initial Catalogue=NomDeTaBase


Si celle-ci est intégré ou :

AttachDBFilename=CheminCompletdeLaBase


Si celle-ci est un fichier .mdf

Pour terminer utilise soit, l'authetification Windows :

Integrated Security=True 


Soit l'authetification SQL Server

User ID=NomUtilisateur; Password=MotDePass


Sépare le tout par des points-virgules (;)

++ Bon courrage

PS: regarde ma dernière source, elle traite du sujet.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
7
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
30 mars 2010

Bien le bonjour!!
Merci aussi pour ta réponse Mayzz.
Mais malheureusement j'ai toujours un problème...
Ma ligne de commande est donc devenue

Dim Myconnexion As SqlConnection = New SqlConnection("Data Source=.\SQLEXPRESS ;Initial Catalog= test.sdf ;User ID=MTZ\pgmrr; Password=abc123jkl@;")

Échec de l'ouverture de session de l'utilisateur 'MTZ\pgmrr'.

Alors que je suis sur de me connecter avec les bonnes informations...

Haaa Je suis perduuuu
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

2 pistes peut-être:

- Enlève TOUS les blancs superflus, surtout au niveau du "Initial Catalog", rien ne dit que cela ne le perturbe pas.

- A première vue tu cherches à te connecter en mode authentification Windows alors 2 choses aussi:

- Es-tu sur qu'il s'agit bien de celle ci, ton admin BDD pourra te le dire.
- Ton ID laisse supposer que tu n'es pas sur le domaine de la BDD, est-ce la cas.

Enfin vérifies bien point par point avec le site que t'a donné Jack.


Calade
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Attention ! Tu utilise un fichier *.sdf qui est une base de données locale => donc réservé à sql server compact ed.

Ce n'est donc pas l'espace de noms SqlClient qu'il faut utilisé mai SqlServerCE.

Dim sqlCeConnex As New SqlServerCe.SqlCeConnection("Data Source=|DataDirectory|\Database1.sdf")


Idem pour le reste, utilise SqlCeCommand, SqlCeDataAdapter, SqlCeDataReader etc...

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
7
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
30 mars 2010

Merci pour vos réponse!!
Mayzz je sens bien que ce que tu m'as répondu vas me faire avancé plus vite ;)

Pour la commande j'ai tester hier une commande des plus ... connes si je peux me permettre

Dim Myconnexion As SqlConnection New SqlConnection("Server.\SQLEXPRESS ;Integrated Security=True ;")

Et ca a l'air de marcher... C'est pas un peu dingue?? lol

Quand je vois le nombre de commande complexe que j'ai essayé de créé.

Merci a vous en tt cas ;)
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Dim Myconnexion As SqlConnection = New SqlConnection("Server =.\SQLEXPRESS ;Integrated Security=True ;")

Cette chaine de connexion fonctionne, elle t'ouvre la connexion à Sql Server Express, cependant comme tu ne précise pas de catalogue initial ou de base *.mdf à attacher, celui-ci te connecte sur une base par défaut (nommé master.mdf) et non à ta base *.sdf.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
15
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
30 novembre 2011

Salut
SVP aidez moi.
Je suis nouveau et je viens de créer une base de données en VB 2008 connectée à SQL Server 2008 R2. Mais j'ai des problèmes:

1 Dans le code, je peux importer System.Data.SqlClient, mais il ne se trouve pas dans les References .NET du VB.
2 En suite, les données inserées dans un formulaire créer en VB ne sont pas stocker dans la base et pourtant en verifiant la connexion, le message montre que VB est connecté à SQL Server.
3 Je veux importer CrystalDecisions.EnterpriseInfoStore, CrystalDecisions.EnterpriseInfoStore.Framezork,....; ils ne sont pas aussi dans les references.

S'il vous plait aidez moi

Ici le code de création de la base de données avec deux tables plus le code des formulaires.

A- CREATION BASE DE DONNEES

Imports System.Data
Imports System.Data.SqlClient

Public Class Central
Friend Sub CreateDatabase()
Dim strAction As String

Dim Command As SqlCommand = Nothing

Using Connect As SqlConnection = _
New SqlConnection("Data Source=STORAGE-4862674\SQLEXPRESS; " & _
"Integrated Security='SSPI';")

strAction = "IF EXISTS ( " & _
"SELECT name " & _
"FROM sys.databases " & _
"WHERE name = N'GUICOBANK') " & _
"DROP DATABASE GUICOBANK; " & _
"CREATE DATABASE GUICOBANK"

Command = New SqlCommand(strAction, Connect)

Connect.Open()
Command.ExecuteNonQuery()

MsgBox("A database named GUICOBANK " & _
"has been created.")
End Using
Using Connect As SqlConnection = _
New SqlConnection("Data Source=STORAGE-4862674\SQLEXPRESS; " & _
"Database='GUICOBANK'; " & _
"Integrated Security='SSPI';")
strAction = "CREATE TABLE dbo.AccountTypes( " & _
"AccountTypeID int Identity(1,1) NOT NULL, " & _
"AccountType nvarchar(40) NOT NULL, " & _
"Notes ntext NULL, " & _
"CONSTRAINT PK_AccountTypes PRIMARY " & _
" KEY (AccountTypeID));"
Command = New SqlCommand(strAction, Connect)

Connect.Open()
Command.ExecuteNonQuery()
MsgBox("A table named AccountTypes " & _
"has been added to the database.")
End Using

Using Connect As SqlConnection = _
New SqlConnection("Data Source=STORAGE-4862674\SQLEXPRESS; " & _
"Database='GUICOBANK'; " & _
"Integrated Security='SSPI';")

strAction = "CREATE TABLE dbo.Account( " & _
"AccountID int Identity(1,1) NOT NULL, " & _
"BankAssets int Constraint FK_Bank_Account " & _
" References Bank(BankAssets), " & _
"CustomerID int Constraint FK_Customers_Account " & _
" References Customers(CustomerID), " & _
"AccountTypeID int Constraint FK_AccountTypes_Account " & _
" References AccountTypes(AccountTypeID), " & _
"AccountBalance decimal(25) NOT NULL, " & _
"AccountCreateDate datetime NOT NULL , " & _
"AccountModifiedDate datetime NOT NULL, " & _
"AccountAgence nvarchar(30) NULL, " & _
"AccountPassword nvarchar(10) NULL, " & _
"AccountAwner decimal(25) NULL, " & _
"Notes ntext NULL, " & _
"CONSTRAINT PK_Account PRIMARY " & _
" KEY (AccountID));"
Command = New SqlCommand(strAction, Connect)

Connect.Open()
Command.ExecuteNonQuery()
MsgBox("A table named Account " & _
"has been added to the database.")
End Using
End Sub

Private Sub Central_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreateDatabase()
End Sub
End Class

B- Pour le formulaire de "AccountTypes"
Public Class AccountTypes

Private Sub AccountTypesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AccountTypesBindingNavigatorSaveItem.Click
Me.Validate()
Me.BsAccountTypes.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DsGUICOBANK)

End Sub

Private Sub AccountTypes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'DsGUICOBANK.AccountTypes' table. You can move, or remove it, as needed.
Me.TaAccountTypes.Fill(Me.DsGUICOBANK.AccountTypes)

End Sub

Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Dim rep As Integer
rep = MsgBox("Do you want close this Application?", vbQuestion + vbYesNo)
If rep = vbYes Then
Me.Tag = False
Me.Hide()
End If
End Sub
End Class
Messages postés
15
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
30 novembre 2011

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Salut,

Pour ce qui est des références :

si "Imports System.Data.SqlClient" n'est pas surligné en vers c'est qu'il est présent dans les ressources.

Pour l'autre référence c'est parce que l'assembly n'est pas référencée dans ton programme. Vas dans MyProject, onglet références et clic sur le bouton Ajouter (Add).Clic sur l'onglet "parcourir" puis renseigne le chemin de l'assembly qui contient ton espace de noms et enfin enregistre ton projet.

Pour ce qui est de ton code. Tu utilises du code pour créer ta base. OK. Mais pour ce qui est du BindingSource de ton formulaire ? Comment veux-tu que l'on devine. Si ta base n'est pas créée à quoi est relié ton BindingSource lors de l'édition ? Et tu as probablement un DataSet fortement Typé. A quelle base est-il relié ? A quoi correspond ta chaîne de connexion pour ce DataSet ?

Pour ce qui est de ton code. Met le au propre. Une seule connexion au serveur suffit pour crée la base et tes tables.

La prochaine fois que tu poste du code n'oubli pas d'utiliser la coloration syntaxique (c'est le 3ème bouton en partant de la droite). C'est plus lisible pour les membres qui veulent t'aider.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
15
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
30 novembre 2011

Je suis heureux de vous lire, mais je signale qu'en ce concerne les references, j'avais essayer votre methode. Mais je n'ai pas retrouver dans la fenetre de " Add References" le nom de ces references (crystaldecisions.Enterprise.InfoStore, crystaldecisions.enterprise.framework,...). Je constate la presence de ces references dans C:\WINDOWS\assembly. Mais dvant ces references pas de "MSIL" au niveau du "processor Architecture". Et, j'ai l'impression qu'ils ne sont pas activer ou installer. Je ne sais pas ce qu'il faut faire en ce nouveau.
Pour ce qui concerne de mon data bindingSource, j'aurai solliciter votre aide pour me montrer le chemin. J'ai essaye la methode : Menu Data ---> Add New DataSource ---> ...---> choisir le nom de la base de donnees --->.....---> tester connexion. Je recois un message : "Test Connection succeeded" . Quel code dois-je faire pour BindinSource? Je vous dis que lors de la creation, je vois le message qui me dit que la base de donnees est creer et que dans SQL Server je peux retrouver le nom de la meme base creer en VB mais qui est vide meme si je fais entrer des donnees dans le formulaire.

Pardon aidez moi.

Si vous desirez, je souhaite vous envoyer le fichier en question.

Tres bonne lecture a vous