Vb.net connecter avec sql serverEXPRESS2005 sans instaler SQL Server Express Man
elmeksaoui1
Messages postés26Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention25 février 2016
-
14 févr. 2011 à 12:09
dorra004
Messages postés9Date d'inscriptionvendredi 25 février 2011StatutMembreDernière intervention22 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!!
elmeksaoui1
Messages postés26Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention25 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
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 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
elmeksaoui1
Messages postés26Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention25 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
elmeksaoui1
Messages postés26Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention25 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
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 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.