我使用Excel作为JAVA 7的数据库,它工作得很好。但是由于在Java 8中删除了对JDBC-ODBC Bridge的支持,因此java 8无法访问ODBC数据库,如MS Access或Excel(作为数据库)。我进一步推出了JAVA 8的自定义解决方案,它在一台机器上运行良好,在生产环境中失败了。使用的自定义解决方案在Removal of JDBC ODBC bridge in java 8
中提到现在,当我在生产环境中测试JAVA上的连接时,它会使用窗口事件日志来崩溃JVM,如下所述。
Description:
Faulting application name: java.exe, version: 8.0.770.3, time stamp: 0x56ef8255
Faulting module name: MSVCR90.dll, version: 9.0.30729.4148, time stamp: 0x4a594e3d
Exception code: 0xc0000417
Fault offset: 0x00000000000552c0
Faulting process id: 0x12b48
Faulting application start time: 0x01d203a674d73082
Faulting application path: D:\Program Files\6.1\jre\bin\java.exe
Faulting module path: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_08e3747fa83e48bc\MSVCR90.dll
Report Id: 0fc98055-6fa2-11e6-bcc5-00505690323b
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2016-08-31T17:40:53.000000000Z" />
<EventRecordID>33487</EventRecordID>
<Channel>Application</Channel>
<Computer>Test</Computer>
<Security />
</System>
<EventData>
<Data>java.exe</Data>
<Data>8.0.770.3</Data>
<Data>56ef8255</Data>
<Data>MSVCR90.dll</Data>
<Data>9.0.30729.4148</Data>
<Data>4a594e3d</Data>
<Data>c0000417</Data>
有人可以建议出路。错误的pid文件内容如下所述。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006b9fb60d, pid=304, tid=1944
#
# JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x7b60d]
#
# Core dump written. Default location: Some Location\hs_err_pid304.mdmp
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00000000022ec800): JavaThread "Application" [_thread_in_vm, id=1944, stack(0x0000000002530000,0x0000000002630000)]
siginfo: ExceptionCode=0xc0000005, writing address 0x0000000000000000
Registers:
RAX=0x0000000000000000, RBX=0x0000000000000000, RCX=0x0000000057af6ff0, RDX=0x000000000000002f
RSP=0x0000000002622280, RBP=0x0000000002622380, RSI=0x000000005848bc00, RDI=0x00000000594c61b0
R8 =0x0000000000000000, R9 =0x0000000057af6ff0, R10=0x0000000061105530, R11=0x0000000057af6ff0
R12=0x00000000022ec800, R13=0x00000000022ec4d0, R14=0x0000000057af6ff0, R15=0x0000000057af3bc0
RIP=0x000000006b9fb60d, EFLAGS=0x0000000000010212
Top of Stack: (sp=0x0000000002622280)
0x0000000002622280: 0000000000000000 000000005848bc00
0x0000000002622290: 0000000002622380 00000000e3c67880
0x00000000026222a0: 00000000594c61b8 0000000000000000
0x00000000026222b0: 0000000000000000 00000000026222d0
0x00000000026222c0: 000000005e2e6801 00000000022ec800
0x00000000026222d0: 00000000564837c0 000000001392a088
0x00000000026222e0: 00000000564837c0 0000000057af6ff0
0x00000000026222f0: 00000000000083b0 0000000057afbba8
0x0000000002622300: 00000000022ec800 00000000594c61b0
0x0000000002622310: 0000000000000003 00000000534d0701
0x0000000002622320: 0000000000320001 00000000564837c0
0x0000000002622330: 000000005848bc00 0000000000000000
0x0000000002622340: 0000000000000000 ffffffff6f000000
0x0000000002622350: 0000000000000000 0000000000000000
0x0000000002622360: 0000000000000007 00000000132c0f28
0x0000000002622370: 0000000000000000 0000000000000000
Instructions: (pc=0x000000006b9fb60d)
0x000000006b9fb5ed: 24 70 e8 ac e6 0b 00 ba 2f 00 00 00 48 8b c8 4c
0x000000006b9fb5fd: 8b f0 ff 15 1b 8f 55 00 ba 2f 00 00 00 49 8b ce
0x000000006b9fb60d: 88 18 ff 15 13 8f 55 00 48 85 c0 74 1c 66 0f 1f
0x000000006b9fb61d: 44 00 00 ba 2f 00 00 00 49 8b ce c6 00 2e ff 15
Register to memory mapping:
RAX=0x0000000000000000 is an unknown value
RBX=0x0000000000000000 is an unknown value
RCX=0x0000000057af6ff0 is an unknown value
RDX=0x000000000000002f is an unknown value
RSP=0x0000000002622280 is pointing into the stack for thread: 0x00000000022ec800
RBP=0x0000000002622380 is pointing into the stack for thread: 0x00000000022ec800
RSI=0x000000005848bc00 is an unknown value
RDI=0x00000000594c61b0 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x0000000057af6ff0 is an unknown value
R10=0x0000000061105530 is pointing into metadata
R11=0x0000000057af6ff0 is an unknown value
R12=0x00000000022ec800 is a thread
R13=0x00000000022ec4d0 is an unknown value
R14=0x0000000057af6ff0 is an unknown value
R15=0x0000000057af3bc0 is an unknown value
Stack: [0x0000000002530000,0x0000000002630000], sp=0x0000000002622280, free space=968k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x7b60d]
V [jvm.dll+0x190e51]
V [jvm.dll+0x1911eb]
C [java.dll+0x1e58]
C 0x0000000002dfb55d
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 1384 java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; (0 bytes) @ 0x0000000002dfb4df [0x0000000002dfb440+0x9f]
J 7249 C2 java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; (43 bytes) @ 0x0000000002e717a8 [0x0000000002e71160+0x648]
J 1369 C1 java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class; (142 bytes) @ 0x0000000002df6254 [0x0000000002df4780+0x1ad4]
J 723 C1 java.net.URLClassLoader$1.run()Ljava/lang/Class; (63 bytes) @ 0x0000000002bfa594 [0x0000000002bfa2e0+0x2b4]
J 7147 C1 java.net.URLClassLoader$1.run()Ljava/lang/Object; (5 bytes) @ 0x0000000003fa6afc [0x0000000003fa6a80+0x7c]
v ~StubRoutines::call_stub
J 680 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000000002bdc266 [0x0000000002bdc200+0x66]
J 6008 C2 java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class; (47 bytes) @ 0x0000000002fa2a9c [0x0000000002fa2a20+0x7c]
J 7272 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; (265 bytes) @ 0x000000000329ba2c [0x000000000329a740+0x12ec]
J 7271 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; (7 bytes) @ 0x000000000335f554 [0x000000000335f4c0+0x94]
v ~StubRoutines::call_stub
J 1384 java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; (0 bytes) @ 0x0000000002dfb4df [0x0000000002dfb440+0x9f]
J 7249 C2 java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; (43 bytes) @ 0x0000000002e717a8 [0x0000000002e71160+0x648]
J 1369 C1 java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class; (142 bytes) @ 0x0000000002df6254 [0x0000000002df4780+0x1ad4]
J 723 C1 java.net.URLClassLoader$1.run()Ljava/lang/Class; (63 bytes) @ 0x0000000002bfa594 [0x0000000002bfa2e0+0x2b4]
J 7147 C1 java.net.URLClassLoader$1.run()Ljava/lang/Object; (5 bytes) @ 0x0000000003fa6afc [0x0000000003fa6a80+0x7c]
v ~StubRoutines::call_stub
J 680 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000000002bdc266 [0x0000000002bdc200+0x66]
J 6008 C2 java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class; (47 bytes) @ 0x0000000002fa2a9c [0x0000000002fa2a20+0x7c]
J 7272 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; (265 bytes) @ 0x000000000329ba2c [0x000000000329a740+0x12ec]
J 7271 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; (7 bytes) @ 0x000000000335f554 [0x000000000335f4c0+0x94]
v ~StubRoutines::call_stub
j jN.<clinit>()V+0
v ~StubRoutines::call_stub
j com.gauss.forms.form.instance.impl.E.<init>()V+3
j com.gauss.forms.form.instance.impl.E.bm()Lie;+53
j ie.<clinit>()V+0
v ~StubRoutines::call_stub
j rv.cO()Lv;+422
j v.<clinit>()V+0
v ~StubRoutines::call_stub
j qn.c()LbG;+382
j bG.<clinit>()V+0
v ~StubRoutines::call_stub
j oK.r()Lfb;+342
j fb.<clinit>()V+0
v ~StubRoutines::call_stub
j pu.n()LmH;+302
j mH.<clinit>()V+0
v ~StubRoutines::call_stub
j L.a()LiM;+262
j iM.<clinit>()V+0
v ~StubRoutines::call_stub
j ci.am()Lp;+222
j p.<clinit>()V+0
v ~StubRoutines::call_stub
j gu.a()Liz;+144
j iz.<clinit>()V+0
v ~StubRoutines::call_stub
j z.a()Lcom/gauss/forms/core/w;+105
j com.gauss.forms.core.w.<clinit>()V+0
v ~StubRoutines::call_stub
j ct.a()Lon;+105
j com.gauss.forms.storage.util.O.<init>(LnG;LgM;Lcom/gauss/forms/storage/util/O;)V+391
j com.gauss.forms.storage.util.O.<init>(LnG;LgM;)V+4
j com.gauss.forms.storage.util.C.<init>(LgM;Lcom/gauss/forms/storage/util/x;)V+161
j com.gauss.forms.storage.jdbc.r.<init>(LgM;Lcom/gauss/forms/storage/util/x;Lnj;)V+3
j com.gauss.forms.storage.jdbc.r.<init>(LgM;Lcom/gauss/forms/storage/util/x;)V+4
j com.gauss.forms.servlet.FrevvoContextListener.a(Ljavax/servlet/ServletContext;Lmq;)LnG;+105
j com.gauss.forms.servlet.FrevvoContextListener.contextInitialized(Ljavax/servlet/ServletContextEvent;)V+111
j org.eclipse.jetty.server.handler.ContextHandler.startContext()V+190
j org.eclipse.jetty.servlet.ServletContextHandler.startContext()V+140
j org.eclipse.jetty.webapp.WebAppContext.startContext()V+13
j org.eclipse.jetty.server.handler.ContextHandler.doStart()V+116
j org.eclipse.jetty.webapp.WebAppContext.doStart()V+16
J 5891 C1 org.eclipse.jetty.util.component.AbstractLifeCycle.start()V (68 bytes) @ 0x000000000371a18c [0x0000000003719f20+0x26c]
j org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;)V+13
j org.eclipse.jetty.deploy.AppLifeCycle.runBindings(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;Lorg/eclipse/jetty/deploy/DeploymentManager;)V+96
j org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(Lorg/eclipse/jetty/deploy/DeploymentManager$AppEntry;Ljava/lang/String;)V+145
j org.eclipse.jetty.deploy.DeploymentManager.addApp(Lorg/eclipse/jetty/deploy/App;)V+93
j org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(Ljava/lang/String;)V+56
j org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(Ljava/lang/String;)V+5
j org.eclipse.jetty.util.Scanner.reportAddition(Ljava/lang/String;)V+41