Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-20 12:45:50.0 |
Hello
When I sent the following query to a free table with th lockTtype=VFP parameter, I get the following error:
query:
select * from "est/cfg"
trace:
java.lang.NoClassDefFoundError
at com.hxtt.concurrent.ad.(Unknown Source)
at com.hxtt.concurrent.t.do(Unknown Source)
at com.hxtt.concurrent.t.if(Unknown Source)
at com.hxtt.concurrent.t.a(Unknown Source)
at com.hxtt.sql.dbf.i.b(Unknown Source)
at com.hxtt.sql.dbf.i.void(Unknown Source)
at com.hxtt.sql.dbf.d.a(Unknown Source)
at com.hxtt.sql.dbf.d.(Unknown Source)
at com.hxtt.sql.dbf.u.a(Unknown Source)
at com.hxtt.sql.bm.if(Unknown Source)
at com.hxtt.sql.dc.a(Unknown Source)
at com.hxtt.sql.dc.a(Unknown Source)
at com.hxtt.sql.bm.a(Unknown Source)
at com.hxtt.sql.bm.a(Unknown Source)
at com.hxtt.sql.ag.a(Unknown Source)
at com.hxtt.sql.ag.a(Unknown Source)
at com.hxtt.sql.ag.executeQuery(Unknown Source)
at com.sadig.sadigweb.DBConnection.executaQuery(DBConnection.java:166)
at com.sadig.sadigweb.TrataVersao.testa(TrataVersao.java:29)
at com.sadig.sadigweb.Kernel.init(Kernel.java:108)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:701)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:144)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:1
98)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11
Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
If I remove the lockType the query works
My connection string is:
jdbc:dbf:////home/app?DefaultExtension=dbf;lockType=VFP
When I access a table "under" a database (.dct) with the same parameters this error don't happen.
I already installed the libJNIFile.so.
Can you help me ?
|
Re:Error query Free Table with lockType=VFP |
HXTT Support |
2007-03-20 17:30:29.0 |
Try
try{
java.io.File file=new java.io.File("/home/app/est/cfg.dbf");
com.hxtt.concurrent.JNIFile jniFile=new com.hxtt.concurrent.JNIFile(file,3);
jniFile.close();
}catch(Exception e){
e.printStackTrace();
System.out.println(e);
}
to see where you will get NoClassDefFoundError.
What's your OS and JDK version?
|
Re:Re:Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-21 04:42:13.0 |
The error happens in the following line:
com.hxtt.concurrent.JNIFile jniFile=new com.hxtt.concurrent.JNIFile(file,3);
The OS is SUSE Linux 10.2
Linux version 2.6.18.8-0.1-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Fri Mar 2 13:51:59 UTC 2007
The JVM is Sun Microsystems Inc. Version 1.5.0_10-b03
|
Re:Re:Re:Error query Free Table with lockType=VFP |
HXTT Support |
2007-03-21 05:33:26.0 |
Try:
try{
System.loadLibrary("JNIFile");
}catch(Exception e){
e.printStackTrace();
System.out.println(e);
}
You should get error too.
|
Re:Re:Re:Re:Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-21 06:31:48.0 |
The error now is
java.lang.UnsatisfiedLinkError: Native Library /usr/lib/jvm/java-1.5.0-sun-1.5.0_update10/jre/lib/i386/client/libJNIFile.so already loaded in another classloader
Then I restarted the Tomcat and it started to work
After this I reloaded the application (using the Tomcat Manager) and the error returned.
The Tomcat version is: Apache Tomcat/5.0
What can I do to solve this ?
|
Re:Re:Re:Re:Re:Error query Free Table with lockType=VFP |
HXTT Support |
2007-03-21 06:39:21.0 |
If there's no VFP applcation using those tables, just remove that lockType connection property.
|
Re:Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-21 06:45:07.0 |
In this case there are a VFP application sharing this tables.
I need to use the lock parameter.
|
Re:Re:Re:Re:Re:Re:Re:Error query Free Table with lockType=VFP |
HXTT Support |
2007-03-21 07:30:00.0 |
Please download and try the latest package.
|
Re:Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-21 08:56:43.0 |
The new version I get the following error:
java.lang.UnsatisfiedLinkError: getHandle
com.hxtt.concurrent.JNIFile.getHandle(Native Method)
com.hxtt.concurrent.JNIFile.(Unknown Source)
com.hxtt.concurrent.ad.(Unknown Source)
com.hxtt.concurrent.t.do(Unknown Source)
com.hxtt.concurrent.t.if(Unknown Source)
com.hxtt.concurrent.t.a(Unknown Source)
com.hxtt.sql.dbf.i.b(Unknown Source)
com.hxtt.sql.dbf.i.void(Unknown Source)
com.hxtt.sql.dbf.d.a(Unknown Source)
com.hxtt.sql.dbf.d.(Unknown Source)
com.hxtt.sql.dbf.u.a(Unknown Source)
com.hxtt.sql.bm.if(Unknown Source)
com.hxtt.sql.dc.a(Unknown Source)
com.hxtt.sql.dc.a(Unknown Source)
com.hxtt.sql.bm.a(Unknown Source)
com.hxtt.sql.bm.a(Unknown Source)
com.hxtt.sql.ag.a(Unknown Source)
com.hxtt.sql.ag.a(Unknown Source)
com.hxtt.sql.ag.executeQuery(Unknown Source)
com.sadig.sadigweb.DBConnection.executaQuery(DBConnection.java:166)
com.sadig.sadigweb.TrataVersao.testa(TrataVersao.java:30)
com.sadig.sadigweb.Kernel.init(Kernel.java:108)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)
|
Re:Re:Re:Re:Re:Re:Re:Re:Error query Free Table with lockType=VFP |
HXTT Support |
2007-03-21 16:29:38.0 |
That "already loaded" issue is a Java design "bug". Please download the latest package which will use NIO lock, not JNI lock, for JDK1.5 on Linux.
|
Re:Error query Free Table with lockType=VFP |
Fernando Hartmann |
2007-03-22 04:19:43.0 |
Now worked.
Thanks a lot.
|