thomasaurelien
Messages postés71Date d'inscriptionjeudi 7 juillet 2011StatutMembreDernière intervention27 novembre 2017
-
7 sept. 2012 à 12:08
thomasaurelien
Messages postés71Date d'inscriptionjeudi 7 juillet 2011StatutMembreDernière intervention27 novembre 2017
-
8 sept. 2012 à 10:05
Bonjour, je suis en train de mettre en place une architecture n-tiers avec visual studio 2012.
J'ai donc un projet IHM, un projet DAL + 2 autres projet
Je voudrais que au premier lancement de mon application une base Access se crée mais j'ai un message d'erreur qui indique "Erreur création base, classe non enregistrée"
IHM
Imports DAL
Public Class Accueil
'objet Connexion
Private connect As New Connexion
Private Sub Accueil_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
If connect.verif_chemin() = False Then
'MessageBox.Show("azerty")
connect.Create_base("a", "z")
End If
Catch ex As Exception
MessageBox.Show(ex.Message, ".:: ERREUR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
DAL
' Ajout référence : Microsoft ADO Ext. 2.8 for DDL and Security
Imports ADOX
Public Class Connexion
#Region "Attributs"
'chemin de la base
Private chemin As String = My.Application.Info.DirectoryPath & "\DataBase.accdb"
'connexion à la BD
Private cnx As OleDb.OleDbConnection = Nothing
'Attribut chaine de connection (fournisseur d'accès aux données + chemin)
Private cnxstr As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & chemin & ";"
#End Region
#Region "Fonctions"
' test existance base
Public Function verif_chemin() As Boolean
Return System.IO.File.Exists(chemin)
End Function
'créer base
Public Sub Create_base(pseudo As String, mdp As String)
Try
Dim Cat As New Catalog
Dim chaine_cnx As String
chaine_cnx = cnxstr & "User ID=" & pseudo & ";Password=" & mdp & ";"
Cat.Create(chaine_cnx)
Catch ex As Exception
Throw New Exception("Erreur création base" & Environment.NewLine & ex.Message)
End Try
End Sub
#End Region
End Class
De plus j'ai déjà réalisé ce genre d'applications avec une visual basic 2010 et je n'avais pas eu de problème particulier.
thomasaurelien
Messages postés71Date d'inscriptionjeudi 7 juillet 2011StatutMembreDernière intervention27 novembre 2017 8 sept. 2012 à 10:05
En faite ma chaine de connexion n'était pas bonne maintenant sa marche je met l'info pour les futurs chercheurs. J'utilise Visual Studio 2012 & Access 2010.
'Ajout référence COM : Microsoft DAO 3.6 Library 5
Imports ADOX
Public Class Connexion
#Region "Attributs"
'chemin de la base
Private chemin As String = My.Application.Info.DirectoryPath & "\DataBase.accdb"
'connexion à la BD
Private cnx As OleDb.OleDbConnection = Nothing
'Attribut chaine de connection (fournisseur d'accès aux données + chemin)
Private cnxstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin
#End Region
#Region "Fonctions"
' test existance base
Public Function verif_chemin() As Boolean
Return System.IO.File.Exists(chemin)
End Function
'créer base
Public Sub Create_base(pseudo As String, mdp As String)
Try
Dim cat As New Catalog
cat.Create(cnxstr)
Catch ex As Exception
Throw New Exception("Erreur création base" & Environment.NewLine & ex.Message)
End Try
End Sub
#End Region
End Class
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 7 sept. 2012 à 12:53
Bonjour,
Essayes de créer une "connexion" pour une base Access, un Cataloque, c'est plus pour SqlServer, non ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
'Ajout référence COM : Microsoft DAO 3.6 Library 5
Imports DAO
Imports DAO.LanguageConstants
Public Class Connexion
#Region "Attributs"
'chemin de la base
Private chemin As String = My.Application.Info.DirectoryPath & "\DataBase.accdb"
#End Region
#Region "Fonctions"
' test existance base
Public Function verif_chemin() As Boolean
Return System.IO.File.Exists(chemin)
End Function
'créer base
Public Sub Create_base(pseudo As String, mdp As String)
Try
Dim dbe As New DBEngine
Dim db As Database
db = dbe.CreateDatabase(chemin, dbLangGeneral)
Catch ex As Exception
Throw New Exception("Erreur création base" & Environment.NewLine & ex.Message)
End Try
End Sub
#End Region
End Class
Par contre, je n'ai pas trouvé si je voudrai créer un base protégé par un mot de passe ? si quelqu'un à un exemple ou un lien ? merci
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site