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
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
 
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
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
 
' 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.