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

JDBC Java Discussion :

Erreur EXCEPTION_ACCESS_VIOLATION


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut Erreur EXCEPTION_ACCESS_VIOLATION
    Bonjour, j'ai un bug qui fait fermer mon application à intervalle irrégulier,

    ça arrive souvent quand je suis dans un formulaire interagissant avec une base de données.

    Voici le fichier de log:

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
     
     
    #
    # An unexpected error has been detected by Java Runtime Environment:
    #
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c911010, pid=1460, tid=1652
    #
    # Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)
    # Problematic frame:
    # C  [ntdll.dll+0x1010]
    #
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    #
     
    ---------------  T H R E A D  ---------------
     
    Current thread (0x0b20a000):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=1652]
     
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000018
     
    Registers:
    EAX=0x00000004, EBX=0x0b5ff160, ECX=0x7ffab000, EDX=0x00000004
    ESP=0x0b5ff0fc, EBP=0x0b5ff114, ESI=0x00000000, EDI=0x0b612a18
    EIP=0x7c911010, EFLAGS=0x00010297
     
    Top of Stack: (sp=0x0b5ff0fc)
    0x0b5ff0fc:   74765a16 00000004 0b612a3c 7473139f
    0x0b5ff10c:   0b612a3c 00000000 0b5ff12c 7473a244
    0x0b5ff11c:   0b612a3c 74760000 0b20a0ec 0b5ffd64
    0x0b5ff12c:   0b5ff140 7473a653 0aeb9ff8 0b20a0ec
    0x0b5ff13c:   06fbf4a0 0b5ff158 6d3f11cb 0b612a18
    0x0b5ff14c:   0b5ff160 0b20a000 06fbf4a0 0b5ff198
    0x0b5ff15c:   008ea440 00000000 0b5ff1b4 0b612a18
    0x0b5ff16c:   00000000 0b5ff1a8 000000bc 0b5ff178 
     
    Instructions: (pc=0x7c911010)
    0x7c911000:   90 90 90 90 90 64 8b 0d 18 00 00 00 8b 54 24 04
    0x7c911010:   83 7a 14 00 75 4f f0 ff 42 04 75 19 8b 41 24 89 
     
     
    Stack: [0x0b5b0000,0x0b600000),  sp=0x0b5ff0fc,  free space=316k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [ntdll.dll+0x1010]
    C  [ODBC32.dll+0xa244]
    C  [ODBC32.dll+0xa653]
    C  [JdbcOdbc.dll+0x11cb]
    j  sun.jdbc.odbc.JdbcOdbc.allocConnect(J[B)J+0
    j  sun.jdbc.odbc.JdbcOdbc.SQLAllocConnect(J)J+30
    j  sun.jdbc.odbc.JdbcOdbcDriver.allocConnection(J)J+6
    j  sun.jdbc.odbc.JdbcOdbcConnection.initialize(Ljava/lang/String;Ljava/util/Properties;I)V+37
    j  sun.jdbc.odbc.JdbcOdbcDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+129
    j  java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Ljava/sql/Connection;+210
    j  java.sql.DriverManager.getConnection(Ljava/lang/String;)Ljava/sql/Connection;+15
    j  connexionBD.Connexion.ouvrirConnexion()V+28
    j  connexionBD.Connexion.<init>()V+10
    j  controlleurBDFormulaire.BDContacts.getValeursChamp(Ljava/lang/String;)Ljava/util/ArrayList;+4
    J  formulaire.ControleurFormulaire.updateFormulaire(Ljava/lang/String;)Ljavax/swing/JPanel;
    j  contacts.GestionContacts$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+161
    j  javax.swing.JComboBox.fireActionEvent()V+127
    J  javax.swing.JComboBox.setSelectedItem(Ljava/lang/Object;)V
    j  javax.swing.JComboBox.setSelectedIndex(I)V+76
    j  contacts.GestionContacts$7.actionPerformed(Ljava/awt/event/ActionEvent;)V+46
    j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
    j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
    j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
    j  javax.swing.DefaultButtonModel.setPressed(Z)V+117
    j  javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Ljava/awt/event/MouseEvent;)V+35
    j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
    j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
    J  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V
    J  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z
    J  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z
    J  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
    J  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V
    j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
    j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
    j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
    j  java.awt.EventDispatchThread.run()V+9
    v  ~StubRoutines::call_stub
     
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  sun.jdbc.odbc.JdbcOdbc.allocConnect(J[B)J+0
    j  sun.jdbc.odbc.JdbcOdbc.SQLAllocConnect(J)J+30
    j  sun.jdbc.odbc.JdbcOdbcDriver.allocConnection(J)J+6
    j  sun.jdbc.odbc.JdbcOdbcConnection.initialize(Ljava/lang/String;Ljava/util/Properties;I)V+37
    j  sun.jdbc.odbc.JdbcOdbcDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+129
    j  java.sql.DriverManager.getConnection(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Ljava/sql/Connection;+210
    j  java.sql.DriverManager.getConnection(Ljava/lang/String;)Ljava/sql/Connection;+15
    j  connexionBD.Connexion.ouvrirConnexion()V+28
    j  connexionBD.Connexion.<init>()V+10
    j  controlleurBDFormulaire.BDContacts.getValeursChamp(Ljava/lang/String;)Ljava/util/ArrayList;+4
    J  formulaire.ControleurFormulaire.updateFormulaire(Ljava/lang/String;)Ljavax/swing/JPanel;
    j  contacts.GestionContacts$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+161
    j  javax.swing.JComboBox.fireActionEvent()V+127
    J  javax.swing.JComboBox.setSelectedItem(Ljava/lang/Object;)V
    j  javax.swing.JComboBox.setSelectedIndex(I)V+76
    j  contacts.GestionContacts$7.actionPerformed(Ljava/awt/event/ActionEvent;)V+46
    j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
    j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
    j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
    j  javax.swing.DefaultButtonModel.setPressed(Z)V+117
    j  javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Ljava/awt/event/MouseEvent;)V+35
    j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
    j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
    J  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V
    J  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z
    J  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z
    J  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V
    J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
    J  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
    J  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V
    j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
    j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
    j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
    j  java.awt.EventDispatchThread.run()V+9
    v  ~StubRoutines::call_stub
     
    ---------------  P R O C E S S  ---------------
     
    Java Threads: ( => current thread )
      0x0ae54400 JavaThread "Thread-3" [_thread_blocked, id=1508]
      0x0af36000 JavaThread "Thread-2" [_thread_blocked, id=896]
      0x0ae24400 JavaThread "TimerQueue" daemon [_thread_blocked, id=2520]
      0x00386000 JavaThread "DestroyJavaVM" [_thread_blocked, id=796]
    =>0x0b20a000 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=1652]
      0x0adbf400 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3676]
      0x0adbe400 JavaThread "AWT-Shutdown" [_thread_blocked, id=3968]
      0x0adbd400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2432]
      0x0aa8b400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3560]
      0x0aa89c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=1776]
      0x0aa85400 JavaThread "Attach Listener" daemon [_thread_blocked, id=3220]
      0x0aa84800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3436]
      0x0aa73400 JavaThread "Finalizer" daemon [_thread_blocked, id=3340]
      0x0aa72400 JavaThread "Reference Handler" daemon [_thread_blocked, id=3544]
     
    Other Threads:
      0x0aa6dc00 VMThread [id=2956]
      0x0aa8cc00 WatcherThread [id=1956]
     
    VM state:not at safepoint (normal execution)
     
    VM Mutex/Monitor currently owned by a thread: None
     
    Heap
     def new generation   total 960K, used 433K [0x02960000, 0x02a60000, 0x02e40000)
      eden space 896K,  45% used [0x02960000, 0x029c6ce8, 0x02a40000)
      from space 64K,  34% used [0x02a40000, 0x02a45760, 0x02a50000)
      to   space 64K,   0% used [0x02a50000, 0x02a50000, 0x02a60000)
     tenured generation   total 11436K, used 7485K [0x02e40000, 0x0396b000, 0x06960000)
       the space 11436K,  65% used [0x02e40000, 0x0358f470, 0x0358f600, 0x0396b000)
     compacting perm gen  total 12288K, used 10487K [0x06960000, 0x07560000, 0x0a960000)
       the space 12288K,  85% used [0x06960000, 0x0739de80, 0x0739e000, 0x07560000)
    No shared spaces configured.
     
    Dynamic libraries:
    0x00400000 - 0x00423000 	C:\Program Files\Java\jre1.6.0_03\bin\javaw.exe
    0x7c910000 - 0x7c9c7000 	C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c905000 	C:\WINDOWS\system32\kernel32.dll
    0x77da0000 - 0x77e4c000 	C:\WINDOWS\system32\ADVAPI32.dll
    0x77e50000 - 0x77ee1000 	C:\WINDOWS\system32\RPCRT4.dll
    0x7e390000 - 0x7e420000 	C:\WINDOWS\system32\USER32.dll
    0x77ef0000 - 0x77f37000 	C:\WINDOWS\system32\GDI32.dll
    0x76320000 - 0x7633d000 	C:\WINDOWS\system32\IMM32.DLL
    0x7c340000 - 0x7c396000 	C:\Program Files\Java\jre1.6.0_03\bin\msvcr71.dll
    0x6d7c0000 - 0x6da0a000 	C:\Program Files\Java\jre1.6.0_03\bin\client\jvm.dll
    0x76ae0000 - 0x76b0f000 	C:\WINDOWS\system32\WINMM.dll
    0x6d310000 - 0x6d318000 	C:\Program Files\Java\jre1.6.0_03\bin\hpi.dll
    0x76ba0000 - 0x76bab000 	C:\WINDOWS\system32\PSAPI.DLL
    0x6d770000 - 0x6d77c000 	C:\Program Files\Java\jre1.6.0_03\bin\verify.dll
    0x6d3b0000 - 0x6d3cf000 	C:\Program Files\Java\jre1.6.0_03\bin\java.dll
    0x6d7b0000 - 0x6d7bf000 	C:\Program Files\Java\jre1.6.0_03\bin\zip.dll
    0x6d000000 - 0x6d1c3000 	C:\Program Files\Java\jre1.6.0_03\bin\awt.dll
    0x72f50000 - 0x72f76000 	C:\WINDOWS\system32\WINSPOOL.DRV
    0x77be0000 - 0x77c38000 	C:\WINDOWS\system32\msvcrt.dll
    0x774a0000 - 0x775dd000 	C:\WINDOWS\system32\ole32.dll
    0x736b0000 - 0x736f9000 	C:\WINDOWS\system32\ddraw.dll
    0x73b10000 - 0x73b16000 	C:\WINDOWS\system32\DCIMAN32.dll
    0x74690000 - 0x746db000 	C:\WINDOWS\system32\MSCTF.dll
    0x75140000 - 0x7516e000 	C:\WINDOWS\system32\msctfime.ime
    0x7c9d0000 - 0x7d1f5000 	C:\WINDOWS\system32\shell32.dll
    0x77f40000 - 0x77fb6000 	C:\WINDOWS\system32\SHLWAPI.dll
    0x77390000 - 0x77493000 	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
    0x58b50000 - 0x58bea000 	C:\WINDOWS\system32\comctl32.dll
    0x6d2b0000 - 0x6d303000 	C:\Program Files\Java\jre1.6.0_03\bin\fontmanager.dll
    0x6d3f0000 - 0x6d3fd000 	C:\Program Files\Java\jre1.6.0_03\bin\JdbcOdbc.dll
    0x74730000 - 0x7476d000 	C:\WINDOWS\system32\ODBC32.dll
    0x76340000 - 0x7638a000 	C:\WINDOWS\system32\comdlg32.dll
    0x20000000 - 0x20018000 	C:\WINDOWS\system32\odbcint.dll
    0x770e0000 - 0x7716b000 	C:\WINDOWS\system32\OLEAUT32.dll
    0x77fc0000 - 0x77fd1000 	C:\WINDOWS\system32\Secur32.dll
    0x76f80000 - 0x76fff000 	C:\WINDOWS\system32\CLBCATQ.DLL
    0x77000000 - 0x770d4000 	C:\WINDOWS\system32\COMRes.dll
    0x77bd0000 - 0x77bd8000 	C:\WINDOWS\system32\VERSION.dll
    0x1b810000 - 0x1b84a000 	C:\WINDOWS\system32\msjtes40.dll
    0x0b8f0000 - 0x0b8fb000 	C:\WINDOWS\system32\VBAJET32.DLL
    0x10e10000 - 0x10e72000 	C:\WINDOWS\system32\expsrv.dll
    0x6d450000 - 0x6d474000 	C:\Program Files\Java\jre1.6.0_03\bin\jpeg.dll
    0x11810000 - 0x11aea000 	C:\WINDOWS\system32\xpsp2res.dll
    0x6d570000 - 0x6d583000 	C:\Program Files\Java\jre1.6.0_03\bin\net.dll
    0x719f0000 - 0x71a07000 	C:\WINDOWS\system32\WS2_32.dll
    0x719e0000 - 0x719e8000 	C:\WINDOWS\system32\WS2HELP.dll
    0x6d590000 - 0x6d599000 	C:\Program Files\Java\jre1.6.0_03\bin\nio.dll
    0x6d220000 - 0x6d243000 	C:\Program Files\Java\jre1.6.0_03\bin\dcpr.dll
    0x71990000 - 0x719d0000 	C:\WINDOWS\System32\mswsock.dll
    0x76ed0000 - 0x76ef7000 	C:\WINDOWS\system32\DNSAPI.dll
    0x76f60000 - 0x76f68000 	C:\WINDOWS\System32\winrnr.dll
    0x76f10000 - 0x76f3d000 	C:\WINDOWS\system32\WLDAP32.dll
    0x76f70000 - 0x76f76000 	C:\WINDOWS\system32\rasadhlp.dll
     
    VM Arguments:
    java_command: demarrage.Demarrer
    Launcher Type: SUN_STANDARD
     
    Environment Variables:
    PATH=C:\Program Files\Java\jre1.6.0_03\bin\client;C:\Program Files\Java\jre1.6.0_03\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Fichiers communs\GTK\2.0\bin
    USERNAME=recep2
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 14 Stepping 8, GenuineIntel
     
     
     
    ---------------  S Y S T E M  ---------------
     
    OS: Windows XP Build 2600 Service Pack 2
     
    CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 14 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2, sse3
     
    Memory: 4k page, physical 515244k(94228k free), swap 1259000k(715344k free)
     
    vm_info: Java HotSpot(TM) Client VM (1.6.0_03-b05) for windows-x86, built on Sep 24 2007 22:24:33 by "java_re" with unknown MS VC++:1310
    Puis voici la classe, qui je crois, génère l'erreur (en java):

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    package connexionBD;
     
    import java.sql.*;
     
     
     
    //Cette classe sert à faire la connexion à la base de données Microsoft Access
    public class Connexion{
     
    	private Statement s;
    	private Connection con;
    	private boolean erreur = false;
     
    	/*
    	 * Quand on instancie cette classe, on ouvre une connexion automatiquement.
    	 */
    	public Connexion()
    	{
     
    		ouvrirConnexion();
     
    	}	
     
    	/*
    	 * Cette méthode sert à ouvrir une connexion sur la base de données.
    	 */
     
    	public void ouvrirConnexion(){
     
    		try {
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
    			String dataSourceName = "bd";
    			String dbURL = "jdbc:odbc:" + dataSourceName;
     
    			con = DriverManager.getConnection(dbURL); 
     
    			s = con.createStatement();
     
    		}
    		catch (Exception err) {
    			System.out.println("ERROR: " + err);
    			erreur=true;
    		}
     
    	}
     
    	/*
    	 * Cette méthode retourne le résultat d'une requête à la base de données.
    	 */
    	public ResultSet execute(String sql){
     
    		ResultSet rs = null;
     
    		try{
    			rs = s.executeQuery(sql);
    		}catch(Exception e){
    			System.out.println(e.getMessage());
    			System.out.println("***************************************************");
    			System.out.println("Exécution échouée / The execution failed.");
    			System.out.println(sql);
    			System.out.println("***************************************************");
    			erreur=true;
    		}
     
    		return rs;
     
    	}
     
    	//Méthode servant à faire une modification à la base de données (UPDATE,DELETE,INSERT)
    	public void executeUpdate(String sql){
     
    		try{
    			try {
     
    				s.executeUpdate(sql);
     
    			} catch (SQLException e) {
    				System.out.println("Exécution échouée / The execution failed.");
    				System.out.println(sql);
    				System.out.println(e.getMessage());
    				e.printStackTrace();
    				erreur = true;
    			}
    		}catch(Exception e){
    			System.out.println("Erreur");
    		}
     
    	}
     
    	/*
    	 * Ferme la connexion à la base de données.
    	 */
    	public void fermerConnexion(){
    		try{
     
    			con.close();
    			s.close();
     
    		}catch(Exception e){
    			System.out.println(e.getMessage());
    			erreur = true;
    		}
    	}
     
    	public boolean aDesErreurs(){
     
    		return erreur;
     
    	}
     
     
    }



    Merci de votre aide !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Personne a une idée ? Parce que ça arrive fréquemment...

    je n'utilise que du code java, je ne fais rien de spécial en lien avec d'autres choses qu'un base de données !

    C'est la première fois que j'ai des erreurs qui ferment l'application sans toutefois être des exceptions

  3. #3
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    T'as pas une exception ? C'est vraiment un plantage de la JVM ?

    tu peux nous montrer la méthode ouvrirConnexion() ? [EDIT] hà j'avais pas vu

    Soit dit en passant, tous les gens qui postent sur ce forum apprécieraient d'avoir de l'aide. Généralement les titres de messages comme le tien ne donnent pas envie de lire le message ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  4. #4
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 55
    Points : 59
    Points
    59
    Par défaut
    A voir le message ca ressemble à un objet mémoire qui n'est pas fermé et qui tourne en boucle dans un thread.

    Et malheureusement à un moment ça tape dans de la mémoire déjà utilisé.

    Regarde bien si tu as pas un Objet qui reste toujours ouvert.

    Sinon tout comme in je trouve le titre du post un peu limite.

    Senti

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    tu peux nous montrer le code de la méthode getValeursChamp(Ljava/lang/String ?

    Tu ouvres une connexion à chaque fois que tu appelles cette méthode ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    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
    public ArrayList<ChampValeur> getValeursChamp(String contactCode){
     
    		Connexion connexion = new Connexion();
    		ArrayList<ChampValeur> tabChampsValeur = new ArrayList<ChampValeur>();
    		String cmd = "SELECT * FROM CONTACTS_INFOS,CHAMPS_FORMULAIRE,SECTIONS_FORMULAIRE WHERE CONTACTS_INFOS.CONTACT_CODE ='"+contactCode.replaceAll("'","''")+"' AND CONTACTS_INFOS.CHAMP_CODE LIKE(CHAMPS_FORMULAIRE.CHAMP_CODE+'%') AND CHAMPS_FORMULAIRE.SECTION_CODE = SECTIONS_FORMULAIRE.SECTION_CODE ORDER BY NO_SECTION,NO_CHAMP";
    		ResultSet resValeur  = connexion.execute(cmd);
     
    		try {
    			while(resValeur.next()){
     
     
    				ChampValeur cv = new ChampValeur();
    				String code = resValeur.getString("CHAMP_CODE");
    				cv.setChampCode(code);
    				String valeur = resValeur.getString("VALEUR");
    				cv.setValeur(valeur);
    				tabChampsValeur.add(cv);
     
     
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
     
     
    		connexion.fermerConnexion();
     
     
    		return tabChampsValeur;
    	}
    Voilà !

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Je trouve ça bizarre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ... CONTACTS_INFOS.CHAMP_CODE LIKE(CHAMPS_FORMULAIRE.CHAMP_CODE+'%') ...
    Mais bon, le problème ne vient apparemment pas de là.
    et cette partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    catch (Exception err) {
    			System.out.println("ERROR: " + err);
    			erreur=true;
    		}
    n'est pas exécutée ? enfin tu n'as pas de message d'erreur ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    je trouve çà marrant car je viens de commencer des exercices sur l'exploitation de SGBD. J'ai eu de suite la même erreur que toi.
    Je viens de trouver la solution et je viens de m'inscrire au forum pour te répondre car çà me resterait sur la conscience de te laisser dans la merde! lol

    La raison est qu'entre deux requêtes j'ai fermé la Connection que toi tu as appelé 'con'.

    Regarde où tu as fait un con.close() dans ton programme principale.

    bye.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    tout d'abord merci, je te suis reconnaissant de me répondre !

    Il n'est pas mieux de fermer la connexion après chaque fois qu'on fait une requête ? je pensais qu'il fallait la fermer après chaque requête... du coup c'est peut-être ça le problème... plusieurs requêtes se lance en même temps et une connexion est fermée pendant une requête...

    Mais c'est bizarre que ça ne tombe nul part dans les exceptions.

    Ca crash carrément tout !

    Bref je vais tester... en espérant ne plus jamais voir mon application se fermer et m'indiquer un beau message ACCESS_VIOLATION

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    J'ai peut-etre une explication...
    comme le dit si bien the_senti, j'ai un thread qui roule toujours dans mon application et qui vérifie à toutes les X secondes si l'utilisateur en cours n'a pas été supprimé du système par l'administrateur ou s'il n'a pas été déconnecté par l'administrateur...

    Je vais me pencher de ce côté là pour vérifier.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Je crois que c'est au niveau de la connexion, à chque fois que je fais une requète je fais Connexion connexion = new Connexion();

    or le constructeur ouvre une nouvelle Connection.

    Donc là je mets dans Connexion une Connection static.

    Depuis... mon importation d'une ancienne base de données à celle que je construis prend 2 minutes à la place de ..... 60 !

  12. #12
    Membre habitué Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Points : 178
    Points
    178
    Par défaut
    Merci les gars (spécialement schoko_bon)!!

    Est ce que quelqu'un sait pourquoi l'on a pas tout simplement une exception???
    Parce que sans ce post, j'y serais encore pour de longues heures...
    En d'autres termes : pourquoi l'exécution d'une requête sur une connexion fermée fait planter java? Je trouve ça un peu rude qd même!

    Sinon, pour Icefire, je te conseille de te tourner vers les pools de connexions, ça t'aidera à mieux les gérer.

    Merci encore

Discussions similaires

  1. erreur : EXCEPTION_ACCESS_VIOLATION
    Par frédéri dans le forum Deski
    Réponses: 3
    Dernier message: 02/12/2009, 12h13
  2. erreur : EXCEPTION_ACCESS_VIOLATION
    Par dsryam dans le forum Général Java
    Réponses: 1
    Dernier message: 04/06/2009, 12h56
  3. comprendre une erreur EXCEPTION_ACCESS_VIOLATION
    Par Benoit_T dans le forum Langage
    Réponses: 8
    Dernier message: 07/08/2008, 11h36
  4. [EXCEPTION_ACCESS_VIOLATION] erreur dans java hotspot
    Par biozaxx dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/11/2007, 11h23
  5. erreur EXCEPTION_ACCESS_VIOLATION sous eclipse java
    Par christianf dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/08/2007, 18h32

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