Bonjour à tous et meilleur voeu de Noel

Je débute avec les BD, j'essai de remplir une tbl avec des string, j'ai environ 2000 enregistrements à effectuer et j'ai le message d'erreur suivant qui me bloque, quelqu'un peut m'aider ?

Mon code est
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
39
40
41
42
43
44
45
46
47
48
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
        Dim Resul As Integer = Nothing
        Dim ArrayCompagnie As New ArrayList
        Dim SrComp As New StreamReader(My.Settings.MonPath & "Liste\Compagnie.txt")
        Do Until SrComp.Peek = -1
            ArrayCompagnie.Add(SrComp.ReadLine)
        Loop
        SrComp.Close()
        Dim _cn As OleDbConnection
        Dim strConnection As String = My.Settings.BourseV2ConnectionString
        _cn = New OleDbConnection(strConnection)
        Try
            _cn.Open()
        Catch ex As Exception
            Throw (New ApplicationException("L'ouverture à échoué avec une ex. de type " & ex.GetType.FullName, ex))
        End Try
 
        For Each compa As String In ArrayCompagnie
            Dim SQL As String = "SELECT Count(TblCompagnie.nom) AS CompteDeNom FROM(TblCompagnie) HAVING (((TblCompagnie.nom)=""" & compa & """));"
            Dim dr As OleDbDataReader
            Dim Cmd As New OleDbCommand
            With Cmd
                .Connection = _cn
                .CommandType = CommandType.Text
                .CommandText = Sql
            End With
            dr = Cmd.ExecuteReader()
            dr.Read()
	    'Vérifie si Doublon
            Resul = CInt(dr("CompteDeNom"))
 
            Console.WriteLine(Resul.ToString)
            If Resul = 0 Then
                Dim Cmd2 As New OleDbCommand
                compa = compa.Replace("'", "''")
                Dim SQL2 As String = "INSERT INTO TblCompagnie (Nom) VALUES('" & compa & "')"
                With Cmd2
                    .Connection = _cn
                    .CommandType = CommandType.Text
                    .CommandText = SQL2
                End With
                Cmd2.ExecuteNonQuery()
            End If
            compa = compa.Replace("''", "'")
        Next
        _cn.Close()
        MessageBox.Show("fini")
    End Sub
et j'obtiens le message d'erreur suivant
L'exception System.Data.OleDb.OleDbException n'a pas été gérée
ErrorCode=-2147467259
Message=Impossible d'ouvrir plus de tables.
Source=Microsoft Access Database Engine
StackTrace:
à System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
à System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
à System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
à System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
à System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
à System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
à System.Data.OleDb.OleDbCommand.ExecuteReader()
à Bourse.RechInfo.ToolStripButton2_Click(Object sender, EventArgs e) dans C:\Users\Mario\Documents\Visual Studio 2010\Projects\Bourse\Bourse\RechInfo.vb:ligne 952
à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
à System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.ToolStrip.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.Run(ApplicationContext context)
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
à Bourse.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
InnerException:
Merci de votre aide