Vb.net connecter avec sql serverEXPRESS2005 sans instaler SQL Server Express Man

elmeksaoui1 Messages postés 26 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 février 2016 - 14 févr. 2011 à 12:09
dorra004 Messages postés 9 Date d'inscription vendredi 25 février 2011 Statut Membre Dernière intervention 22 mars 2011 - 7 mars 2011 à 23:57
Bonjour,

j ai déployé une application vb.net avec le composant SQL Server Express 2005, comment je peux
se connecter a ma base de donne a partir de mon application sans instaler SQL Server Express Manager .

quelqu’un peux me donner les étapes comment faire.
MERCI!!

8 réponses

cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
14 févr. 2011 à 14:11
Salut,

il faut utiliser l'instruction sp_attach_db pour attacher la base de données au serveur lors du premier lancement de ton logiciel.

Dans l'aide du SQL serveur Manager tu auras la syntaxe exacte


@+LIM
0
elmeksaoui1 Messages postés 26 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 février 2016
14 févr. 2011 à 18:29
bonjour,
j ai utiliser cette instruction et il m afficher ce message d erreur :
Msg 262, Level 14, State 1, Line 1
Autorisation CREATE DATABASE refusée dans la base de données 'master'.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE s'est terminé anormalement

sachant que je travail sous vista.


Merci
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
14 févr. 2011 à 19:13
Salut,

Exemple sur clic d'un bouton, on attache la base de données au server .\SQLEXPRESS

Fait avec VB.Net 2002 et WinXP sur serveur SQL2005 Express

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
'Fichier MDF de la base de données
Dim f1 As String = "C:\APORTIS\BDD\Test2Visu.mdf"
'Fichier LDF de la base de données
Dim f2 As String = "C:\APORTIS\BDD\Test2Visu_log.ldf"
'Objet Connection
Dim sqlcon As New SqlConnection()
'Objet Command
Dim sqlcom As New SqlCommand()
'Chaine de connexion au serveur (à compléter avec mot de passe si nécessaire)
sqlcon.ConnectionString = "data source=" & ".\SQLEXPRESS" & ";integrated security=SSPI"
'Ouverture de la connexion
sqlcon.Open()
'Affectation de la connexion ouverte à l'aobjet command
sqlcom.Connection = sqlcon
'Commande d'attachement de la base au serveur
sqlcom.CommandText "EXEC sp_attach_db @dbname N'" & "TestVisu" & "', @filename1 = N'" & f1 & "', @filename2 = N'" & f2 & "'"
'Execution de la commande
sqlcom.ExecuteNonQuery()
'Fermeture de la connexion
sqlcon.Close()
sqlcon.Dispose()
sqlcom.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub

@+LIM
0
elmeksaoui1 Messages postés 26 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 février 2016
16 févr. 2011 à 12:08
Bonjour ,
j ai fais ce syntaxe et sa marche bien avec l'attachement de la base ,mais si je veux faire la meme chose pour dettacher la base(exec sp_detach_db 'mabase') il m affiche ce message d erreur:
Serveur : Msg 3701, Niveau 16, État 3, Ligne 1
Impossible de détacher le base de données '[color=blue]mabase' car il est en cours d'utilisation/color.

sachant que je utliser la base dans Form1_Load.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 févr. 2011 à 14:57
Pour que tu puisses détacher ta base il faut fermer toutes les connexions à la base et se connecter seulement au serveur SQL.

Après je ne sais pas dans quel contecte tu l'utilises.

@+LIM
0
elmeksaoui1 Messages postés 26 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 février 2016
16 févr. 2011 à 16:16
salut,

je vous donne mon code que je utilise:
-load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim cn As New SqlConnection("server=.;database=mabase;Trusted_Connection=yes")
Dim cmd1 As New SqlCommand("select * from utilisateurs ", con)
Dim da1 As New SqlDataAdapter(cmd1)
Dim ds As New DataSet()
da1.Fill(ds, "utile")
DataGridView1.DataSource = ds.Tables("utile")
con.Close()
con.Dispose()
cmd1.Dispose()
Catch ex As SqlException
MsgBox("Attention : " & ex.Message)
End Try
End Sub
-le boutton detacher
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim cn As New SqlConnection("server=.;database=mabase;Trusted_Connection=yes")
'Dim cn As New SqlConnection("data source=.;initial catalog=immo;integrated security=sspi")
cn.Open()
Dim Sql As String
Sql = "exec sp_detach_db 'immo'"
Dim cmd As New SqlCommand(Sql, cn)
cmd.ExecuteNonQuery()
cn.Close()
cn.Dispose()
cmd.Dispose()
Catch ex As SqlException
MsgBox("Attention : " & ex.Message)
End Try
End Sub
- lorsque je clique sur boutton detacher le message s affiche.
Merci
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 févr. 2011 à 16:38
Question : pourquoi vouloir détacher la base ?

Une fois que ton programme est installé sur une machine et que la base est attachée au serveur, il ne sert à rien de vouloir la détacher.

Dans ton code je ne vois pas ce qui ne ne vas pas.
La seule chose que je vois c'est que le serveur considère comme toujours ouverte la connexion à ta base de données dans le load.

L'expérience que j'ai en utilisant sp_attadh et detach c'est que mon programme principal ne gère pas cela. J'ai fait un petit programme à part qui ne fait que çà attacher/détacher des bases d'un serveur. Comme cela je suis sûre que la base n'est pas utilisée par mon programme quand je veux la détacher.

Je ne sais pas dans quel contexte et quelles contraintes tu as pour utiliser cette fonction.

@+LIM
0
dorra004 Messages postés 9 Date d'inscription vendredi 25 février 2011 Statut Membre Dernière intervention 22 mars 2011
7 mars 2011 à 23:57
Bonsoir,
j'ai un gros problème avec le bouton supprimer pour supprimer une ligne de la base se donné.
Pouvez-vous m'aider SVP?
Merci d'avance
0
Rejoignez-nous