Oracle JDBC Configuration for Process Flow failed

 17 Replies
 0 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member

I try to configure oracle JDBC for process Flow but unsusscessful. Here is what I did:

On PF server (Windows server 2003):
 - Placed oracle driver jar file (ojdbc14.jar from Oracle site) in $GENDIR\bpm\jar directory
 - Add the following line in pfserv.cfg file to include the driver jar in classpath:
    pfserv.common.classpath.5%GENDIR%bpm/jar/ojdbc14.jar
 - Restart the PF server.
On Designer Desktop:
 - Placed the same driver jar file in \lib directory
 - modified the designer.bat file to include the driver jar file in classpath
 - open Designer and enter parameters in JDBC tab:
   JDBC Driver: oracle.jdbc.driver.OracleDriver
   Database URL: jdbc:oracle:thin:@serverIP:PORT:INSTANCENAME.

But when I tried to buid a SQL query  node I got the error:
java.lang.NoClassDefFoundError
 at java/lang/Class.forName
 at com/lawson/bpm/processflow/workFlow/flowGraph/FgSQL.getJDBCConnection
 at workFlow/gui/FormSQLQueryWizard.sqlConnect

Please point out if I was missing something or incorrect. Your kind help would be appreciated.

David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member
Process Flow is based on JDK 1.1.1 (per the GSC) which requires "classes111.zip" from Oracle 7 in order to build SQL or run locally. There is no intent on the part of Lawson to upgrade the designer to use something from this century.

The actual PF Engine on the servers is based on JDK1.4, so you can always use something like TOAD to build your SQL, paste it in your flow and "Run on Server" to test.
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
David;

Thanks for your reply. I can run SQL query "on the server" but always get error if run the same query locally (uncheck "Run on server" box). The error I get something like:
SQLQuery8550_RETURN_MSG = ORA-00942: table or view does not exist
OR
SQLQuery8550_RETURN_CODE = 600
SQLQuery8550_errorCode = 1
SQLQuery8550_informationCode = 600
SQLQuery8550_returnMessage = ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

So I think I configured JDBC on Designer not correctly. Please advise.
David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member
Are you able to build a query using the "SQL Query" ->[right click]properties -> "Build" function in designer?

I had problems building queries and executing locally using the "ojdbc14.jar" file for Oracle. At the recommendation of the Lawson GSC I included "classes111.zip" from Oracle 7 in my class path I was able to run locally.

The Process Flow engine on the server was built against jdk1.4 and will run with the jar file from Oracle 9 and up, but the designer was built against jdk1.1 and requires the class file from ORacle 7.

Below is my jdbc configuration:

Driver: oracle.jdbc.driver.OracleDriver
URL: jdbc:oracle:thin:@[my_oracle_server]:1521:[my_sidd]
User: [my user]
Password: [my password]


I built a simple query against the EMPLOYEE table and ran both locally and "Run on Server" and got valid results.

The query was:

SELECT EMPLOYEE, LAST_NAME, FIRST_NAME FROM HRSTAGE9.EMPLOYEE WHERE EMPLOYEE = 262246
David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member
My designer.bat file is:

set LAW_JAVA_HOME=%LAW81_JAVA_HOME%
SET CLASSPATH=.;.\lib\lawrm.jar;.\lib\bpmsso.jar;.\lib\bpm-clients.jar;.\lib\bpm-commons.jar;.\lib\activation.jar;.\lib\collections.jar;.\lib\jakarta-oro-2.0.jar;.\lib\jbcl.jar;.\lib\jcfield450K.jar;.\lib\js.jar;.\lib\xbean.jar;.\lib\mailapi.jar;.\lib\mercjava.jar;.\lib\pf-xmljava.jar;.\lib\pf-rel802.jar;.\lib\SheridanActvList.zip;.\lib\smtp.jar;.\lib\xercesImpl.jar;.\lib\xml-apis.jar;.\lib\unijdbc.jar;.\lib\ojdbc.jar;.\lib\classes111.zip;.\lib\msutil.jar;.\lib\msbase.jar;.\lib\mssqlserver.jar

start Designer.exe
David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member
Test adding reply. I added response that shows up when I view history for this page but not when I go to the page directly.
John Henley
Send Private Message
Posts: 3351
David, the pages are cached, so sometimes you won't see the response right away. You can always press Ctrl-F5 (browser refresh) to see it.
Thanks for using the LawsonGuru.com forums!
John
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
David;

I've checked my Designer.bat and it's same as yours (Classes111.zip in classpath). I ran a simple query agaisnt Employee table successfully if "Run on server" but failed in locally. Here's the error I got:

Executing Sql ..... SELECT EMPLOYEE, LAST_NAME, FIRST_NAME FROM LAWSON.EMPLOYEE WHERE EMPLOYEE = 42043
SQLQuery8550_RETURN_MSG = ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [].

I tried it on 3 different PCs and the results are the same.

Thanks for your response.
Sam Simpson
Veteran Member Send Private Message
Posts: 239
Veteran Member
Setting up JDBC is really a pain in the neck specially for oracle client. I'm assuming you are using oracle. Your classpath should really be Classess111.jar.
What I learned is that JDBC does not really works good with oracle10g so you may have to reinstall oracle9 client in your PC. Ever since I did this, I
never have a problem with JDBC connectivity Good luck!
David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member

Is the "classes111.zip" file in the "lib" directory under the install directory for Process Flow Designer?
Make sure you don't have an old "ojdbc14.jar" in the path. Mine does show "ojdbc.jar" which doesn't exist so it apparently doesn't interfere or break things.

For example yy classes111.zip is at: C:\Program Files\Lawson Software\ProcessFlow900\lib

My designer.bat and designer.exe are under C:\Program Files\Lawson Software\ProcessFlow900

I can't answer to the Oracle 10 question as I have the Oracle 8 client installed on my PC. We are 10gR2 on our servers.

I guess they changed the naming conventions after 1.1 from .zip to .jar. According to Lawson support the jdk1.1.1 they used was Microsoft's version which was not updated after the SUN/MicroSoft court battle was settled (won by Sun). That may be part of the reason MicroSoft didn't use the .jar suffix (pure speculation on my part).
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
Sam and David;

Thank you for your responses to my problem. Yes! I have Oracle 10g client installed. There're a lot of .NET apps that I developed and using ODP.NET (10g version) on my PC so I don't want to reinstall other Oracle client. If you guys have any suggestion please let me know. Again thanks for your helps.
David Britton
Veteran Member Send Private Message
Posts: 53
Veteran Member
I was thinking about this some more. I don't think the jdbc driver needs an Oracle client installed. If that is the case the version of Oracle on your PC is irrelevnt.
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
David;

That's what I thought so. Oracle client isn't needed for JDBC driver. I will try on a PC without Oracle client installed and see what happen. Thanks for your help.
Sam Simpson
Veteran Member Send Private Message
Posts: 239
Veteran Member
Part of your connect string is coming from your tnsnames.
John Henley
Send Private Message
Posts: 3351
Posted By Sam Simpson on 05/15/2009 10:55 AM
Part of your connect string is coming from your tnsnames.

I disagree. The whole idea of the "Thin" driver is that you don't have to have the Oracle client loaded at all.  All of the info in the connect string is used to connect to the server:

jdbc:oracle:thin:@serverIP:PORT:INSTANCENAME

 

Thanks for using the LawsonGuru.com forums!
John
JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
Hi everyone;

I did try on a PC without Oracle client installed but no luck. Same configuration, same query and got the same error when run locally:
Executing Sql ..... SELECT EMPLOYEE, LAST_NAME, FIRST_NAME FROM LAWSON.EMPLOYEE WHERE EMPLOYEE = 42043
SQLQuery8550_RETURN_MSG = ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [].

Any thought, idea please help me out.

Thanks



JavaCafe
Advanced Member Send Private Message
Posts: 23
Advanced Member
David;
I replaced the classes.zip with classes.jar (from Oracle 9i) then it worked. Just in case if anyone encounter the same problem.
Again thanks for all your helps
RussB
Send Private Message
Posts: 3
Thanks much folks. You answered all my questions to make this work!