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 Acces : Impossible d'ouvrir plus de tables


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Erreur Acces : Impossible d'ouvrir plus de tables
    Bonjour,

    J'ai un problème dans un programme que je suis en train de réaliser.

    J'utilise Microsoft Jet 4.0 (dernière mise à jour) pour la base de donnée. Le problème est que je suis limité par les 2048 tableId possibles.

    Ma base de donnée est composée de tables contenant jusqu'à une centaine de tuples, le problème est qu'une fois que l'on fait des reqûetes un peu plus compliqués, on parcourt trop de tuples et donc on atteint les 2048 tableID.

    J'utilise ma base de donnée en mode connecté, c'est à dire que je l'ouvre en debut de programme et la ferme en fin de programme. Dans mon code j'utilise des DataReaders et je prend bien soin d'utiliser leur méthode "close" en fin de requête.

    Ma question est la suivante, est ce que je suis obligé pour éviter cela d'ouvrir et de fermer ma connection a la base de donnée avant chaque requête pour être sûr de ne pas arriver à la limite du nombre de tableId, où y-a-t-il quelque chose dans mon code qui soit incorrect (voir en dessous)

    voila une méthode typique d'accès a la base de donnée.
    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
        Public Sub getListeNationalite(ByRef Liste As List(Of clsNationalite))
            Dim dr As OleDbDataReader
            Dim Sql As String
     
            Try
                com = New OleDbCommand()
                com.Connection = con
     
                Sql = "Select * From Nationalite ORDER BY Nationalite_Nom_Diminutif"
                com.CommandText = Sql
     
                dr = com.ExecuteReader()
     
                If (dr.HasRows) Then
                    While (dr.Read)
                        Dim uneNationalite As clsNationalite
                        uneNationalite = New clsNationalite(dr.GetString(0), dr.GetString(1), dr.GetString(2))
                        Liste.Add(uneNationalite)
                    End While
                Else
                    AffError("Aucune nationalite trouvé!")
                End If
     
                dr.Dispose()
                com.Dispose()
            Catch ex As Exception
                AffErrorBD("Erreur getlistelieux!", ex)
            End Try
        End Sub
    Merci de vos réponses

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Bonjour,

    en général pour acceder aux données on se connecte, on lance la ou les requetes dans une transaction, puis on referme la connection.

    Le plus simple dans votre cas serait de créer une fonction NouvelleConnection qui créerait une connection, et d'appeler cette fonction au lieu de reprendre la connexion précédente. Sans oublier de fermer la connexion en fin de procédure.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse, cela ne fait que confirmer ma première idée de solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET & ACCESS] Erreur "impossible d'ouvrir plus de tables"
    Par GregOizo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/01/2012, 15h20
  2. [AC-2003] Erreur : Impossible d'ouvrir plus de tables
    Par CrankFlash dans le forum Access
    Réponses: 1
    Dernier message: 25/07/2011, 21h39
  3. Erreur: Impossible d'ouvrir plus de tables
    Par yonpo dans le forum VB.NET
    Réponses: 5
    Dernier message: 26/06/2010, 10h50
  4. [VBA-A] erreur impossible d'ouvrir plus de table
    Par the_senti dans le forum VBA Access
    Réponses: 4
    Dernier message: 19/07/2007, 10h30
  5. [ODBC] Erreur : Impossible d'ouvrir plus de tables
    Par maraly dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/03/2007, 17h13

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