Martin Chen
Would you please be more specific. Are you receiving an error (i.e.:
SQLException) when you attempt to update you data using the Toolbox JDBC
driver? Would you please describe this scenario in more detail?
- Mike
Martin Chen , Taiwan
Have you checked your stdout.txt and stderr.txt log files for your application
server on NT? I'd expect an SQLException and/or a rollback exception if the
update failed for some reason. Another thing to try would be to enable tracing
on the Toolbox driver. To do this add the following to the database name
property for the data source:
trace=true
For example:
MYAS400;prompt=false;trace=true
The output of the trace should be written to the stdout.txt log file for your
application server.
- Mike
Martin
And I checked these two files stdout.log and stdeer.log , the file
stdout.log shows
the message "Internal drever error". Is this the problem of JDBC driver in
updating
doublebyte data ? The following is the message of stdout.log.
file://********************************************************************
Instantiate: asgard.demo.sbs1.ASM110U
685.005 185cdd ServletInstan A Loading.servlet:."asgard.demo.sbs1.ASM110U"
685.126 185cdd WebGroup A [Servlet.LOG]:."asgard.demo.sbs1.ASM110U:
init"
685.126 185cdd ServletInstan A
Servlet.available.for.service:."asgard.demo.sbs1.ASM110U"
as400: Connection AS170: Auto commit = "true".
as400: Connection AS170: Auto commit = "true".
as400: Prepared statement STMT0003 open.
as400: Prepared statement STMT0003: Escape processing = "true".
as400: Prepared statement STMT0003: Fetch direction = "1000".
as400: Prepared statement STMT0003: Fetch size = "0".
as400: Prepared statement STMT0003: Max field size = "0".
as400: Prepared statement STMT0003: Max rows = "0".
as400: Prepared statement STMT0003: Query timeout = "0".
as400: Prepared statement STMT0003: Result set conncurrency = "1007".
as400: Prepared statement STMT0003: Result set type = "1003".
as400: Prepared statement STMT0003: Prepared STMT0003* [INSERT INTO ASAZPF
AZ01, AZ02, AZ03, AZ04, AZ05, AZ97, AZ98, AZ99 ) VALUES ( ?, ?, ?, ?, ?, ?,
?, ? )].
as400: Prepared statement STMT0003: Query timeout = "0".
SQLException: SQLState(HY000) vendor code(-99999)
java.sql.SQLException: Internal driver error.
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:296)
at com.ibm.as400.access.SQLChar.convertToRawBytes(SQLChar.java:162)
at
com.ibm.as400.access.AS400JDBCPreparedStatement.commonExecuteBefore(AS400JDB
CPreparedStatement.java:466)
at
com.ibm.as400.access.AS400JDBCStatement.commonExecute(AS400JDBCStatement.jav
a:510)
at
com.ibm.as400.access.AS400JDBCPreparedStatement.execute(AS400JDBCPreparedSta
tement.java:587)
at
com.ibm.ejs.dbm.sql.PreparedStatementImpl.execute(PreparedStatementImpl.java
:122)
at com.ibm.db.base.DatabaseResultTable.execute(DatabaseResultTable.java)
at com.ibm.db.SQLStatement.execute(SQLStatement.java)
at asgard.demo.dbbean.ASAZu.execute(ASAZu.java:84)
at asgard.demo.sbs1.ASM110U.performTask(ASM110U.java:131)
at asgard.demo.sbs1.ASM110U.doPost(ASM110U.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:566)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:639)
at
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager
.java:557)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycl
eServlet.java:160)
at
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServle
t.java:287)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycle
Servlet.java:105)
at
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:34
9)
at
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletMan
ager.java:705)
at
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManag
er.java:631)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(W
ebApp.java:1129)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebApp.java:1
001)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebApp.java:96
0)
at
com.ibm.servlet.engine.webapp.InvokerServlet.service(InvokerServlet.java:172
)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:639)
at
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager
.java:557)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycl
eServlet.java:160)
at
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServle
t.java:287)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycle
Servlet.java:105)
at
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:34
9)
at
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletMan
ager.java:705)
at
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManag
er.java:631)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(W
ebApp.java:1129)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebApp.java:1
001)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebApp.java:96
0)
at
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebGroup.java:
681)
at
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedIn
vocation.java:67)
at
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequ
estProcessor.java:139)
at
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener
.java:300)
at
com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(SQ
EventListenerImp.java:230)
at
com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(SQEventL
istenerImp.java:104)
at
com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(SQE
ventSource.java:202)
at
com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRu
nnable.notifyService(SQWrapperEventSource.java:347)
at
com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRu
nnable.run(SQWrapperEventSource.java:216)
at
com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run
(OutOfProcThread.java:248)
at java.lang.Thread.run(Thread.java:472)
資料庫管理程式發生錯誤。
SQL State: HY000
Internal driver error.
//**********************************************************************
Martin Chen , Taiwan
I hava checked these tow files stdout.log and stderr.log , and the file
stdout.log shows
the message "Internal driver error". Is this the problem of JDBC driver in
updating
doublebyte data ? The following is the message of stdout.log.
*******************************************************
*******************************************************
Martin Chen , Taiwan
Will you please provide me with the version of OS/400 are you running?
Additionally, will you provide me with the PTF #'s that are currently installed
for the Toolbox licensed program (i.e.: 5769JC1 or the equivalent on your
system)? SF61800 is the latest Mod2 Toolbox PTF and is one of our prerequisites
for using the Toolbox JDBC driver with WebSphere 3.0.2.x.
In the meantime, I will run this trace by one of the Toolbox driver developers.
- Mike
I have just confirmed that JC1 PTF SF61800 should contain a fix for the problem that
you described.
- Mike
Martin Chen, Taiwan
The Toolbox service pack can be downloaded from the following site:
http://www.as400.ibm.com/toolbox/servicepacks.htm
This site also contains instructions for installing the fixpack.
Thank you,
- Mike
- Mike
Michael Burke wrote:
> Martin,
>
Martin Chen , Taiwan
The Toolbox versioning is different than the OS/400 version you are running.
The version of the Toolbox that is shipped in OS/400 V4R4 is V4R2M0 (Mod2);
hence, you will need to download or order PTF SF61800 (dated 04/04/00 in the
table on the Toolbox service page):
http://www.as400.ibm.com/toolbox/servicepacks.htm
Sorry for the confusion,
- Mike
Martin