IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Erreur : Classe non enregistré


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Erreur : Classe non enregistré
    Voila je suis en train de développé une application avec architecture n-tiers.
    J'ai une solution avec un projet :
    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
     
    ' Ajout référence : Microsoft ADO Ext. 2.8 for DDL and Security
    Imports ADOX
     
    Public Class Connexion
     
        'attribut chemin de la base
        Private chemin As String = My.Application.Info.DirectoryPath & "\DataBase.accdb"
        'Attribut connexion unique à une source de données
        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 & ";" & "Jet OLEDB:Database Password="
     
        'retourne vrai si le fichier (base) existe
        Public Function verif_chemin() As Boolean
            Return System.IO.File.Exists(chemin)
        End Function
     
        'créer la BD access
        Public Sub Create_base(mdp As String)
            Try
                Dim Cat As New Catalog
                Cat.Create(cnxstr & mdp & ";")
            Catch ex As Exception
                Throw New Exception("Erreur création base" & Environment.NewLine & ex.Message)
            End Try
        End Sub
    End Class
    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
     
    'Ajout référence au projet DAL
    Imports DAL
     
     
    Public Class Accueil
     
        Dim connect As New Connexion
     
        Private Sub Accueil_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            If connect.verif_chemin() = False Then
                Linfo.Visible = False
            End If
        End Sub
     
        Private Sub Bvalider_Click(sender As Object, e As EventArgs) Handles Bsuivant.Click
            connect.Create_base(TBmdp.Text)
        End Sub
    End Class
    Je suivi cette article :
    http://www.developpez.net/forums/d98...er-dll-projet/
    Images attachées Images attachées  

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 570
    Points
    3 570
    Par défaut
    On dirait appel à un COM non registré.

    Ton provider OLEDB est bien installé ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    On dirait appel à un COM non registré.

    Ton provider OLEDB est bien installé ?
    Il me semble (à tord?) que OLEDB.12.0 est installé par default sur VS2010, peut être pas le bon framework utilisé?

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Erreur : Classe non enregistré
    J'utilise VB2012 avec une base Access 2010 je sais pas si sa change quelque chose !!

    D'après se que j'ai pu lire sur les forums j'ai télécharger Microsoft Access Database Engine 2010
    http://www.microsoft.com/en-us/downl....aspx?id=13255

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Tu a bien choisi framework 4.0 au moment de créer ton projet?

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Erreur : Classe non enregistré
    Bon ben tampis je m'en remet au connecteur JET.OLEDB au moins avec celui-ci cela marche très bien même si à partir de la version Access 2007 celui-ci fût remplacer par ACE.OLEDB.

    Je vais continuer à chercher le pourquoi du comment ACE.OLEDB ne fonctionne pas mais je vais pouvoir en même temps continuer mon projet.

    Voici au final mon projet DAL :
    Code vb : 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
     
    'Ajout référence COM : Microsoft DAO 3.6 Library 5
    Imports ADOX
     
    Public Class AccessConnexion
     
    #Region "Attribut"
        'chemin de la base
        Private chemin As String = My.Application.Info.DirectoryPath & "\DataBase.accdb"
    #End Region
     
    #Region "Fonctions"
     
        'renvoie chaine de connexion
        Public Function Chaine_connexion()
            'ne fonctionne pas avec le connecteur ACE.OLEDB
            'permet de créer une base de donnée avec mot de passe
            Return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin & ";" & ";" & "Jet OLEDB:Database Password=aaa"
        End Function
     
        ' test existance base
        Public Function Verif_chemin() As Boolean
            Return System.IO.File.Exists(chemin)
        End Function
     
        Public Sub Creation_base()
            Try
                Dim cat As New Catalog
                cat.Create(Chaine_connexion())
            Catch ex As Exception
                Throw New Exception("Erreur création base" & Environment.NewLine & ex.Message)
            End Try
        End Sub
    #End Region
     
    End Class

Discussions similaires

  1. Message d'erreur ''Classe non enregistrée''
    Par lalo007 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/08/2013, 16h27
  2. [Flash Pascal] Erreur Classe non enregistrée
    Par Roland Chastain dans le forum Flash Pascal
    Réponses: 10
    Dernier message: 07/11/2012, 20h55
  3. Erreur Classe non enregistrée
    Par xps1616 dans le forum Framework .NET
    Réponses: 3
    Dernier message: 09/09/2012, 12h36
  4. Erreur « Classe Non Enregistrée »
    Par Chri8De dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 22/08/2011, 09h04
  5. Erreur Classe non enregistrée
    Par nassoft dans le forum Delphi
    Réponses: 13
    Dernier message: 26/05/2007, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo