Tim Bunce wrote:

On Fri, Aug 20, 2004 at 05:44:14PM +0100, Gaul, Ken wrote:

-----Original Message-----
From: Tim Bunce [mailto:[EMAIL PROTECTED] Sent: 20 August 2004 17:40
To: Derrick Spell
Cc: [EMAIL PROTECTED]
Subject: Re: Error starting JDBC listening server

On Thu, Aug 19, 2004 at 02:34:34PM -0400, Derrick Spell wrote:

I am trying to get DBD::JDBC running on my Linux box - OpenBase 8.0.3

b4

I have successfully downloaded and installed
DBI
Convert::BER
DBD::JDBC

The files dbd_jdbc.jar and OpenBaseJDBC.jar both reside in the directory /home/OpenBase/Java/Extensions

I am using the following command to start the jdbc server:
java -Djdbc.drivers=com.openbase.jdbc.ObDriver -Ddbd.port=12001 com.vizdom.dbd.jdbc.Server &


However, the server will not start. I am getting the message:
[EMAIL PROTECTED] DBD-JDBC-0.64]# Exception in thread "main" java.lang.NoClassDefFoundError: com/vizdom/dbd/jdbc/Server


Any insights?


It looks like the classpath needs to be set. I'm not familiar with OpenBase, but from glancing at their doc it looks like the use of the Java/Extensions directory is something Mac-specific. On Linux, you need to set the classpath manually. You can either set the CLASSPATH environment variable or use the -classpath command-line option when you start the server:

java -classpath "/home/OpenBase/Java/Extensions/dbd_jdbc.jar:/home/OpenBase/Java/Extensions/OpenBaseJDBC.jar" ...




Does anyone else here use DBD::JDBC? (I hear very litle about it.)

Tim.

Nope, never heard of it till now, but if it does what it looks like then
I'm interested.
Another solution to the age old how do I get MSSqlSrv version X access
from a linux/UNIX perl with DBI. With the added benefit that there is no
need to install DBI::Proxy on the windows box or be restricted to read
only with the FreeTDS/iODBC way.


Or have I totally misunderstood what this does?


I know very little about JDBC but I share your interest if your
interpretation is correct. The docs suggest you're right:

" This module allows you to use DBI to access a JDBC driver from
Perl and is implemented in a fashion similar to that of
DBD::Proxy. There are two components: a pure Perl DBD::JDBC
module, and a pure Java server application. Both must be
installed in order to use this driver, though, like DBD::Proxy,
they may be installed on separate machines.


  The DBD::JDBC Java server process is threaded and supports
  multiple simultaneous connections.
"

Can anyone fill-in more details? [I've CC'd the author.]

That's pretty much what it does. The Perl side marshals method calls using Convert::BER and the server unmarshals them, turns them into JDBC method calls, then marshals the response and sends it back to the Perl side. As long as your JDBC driver lets you talk to the database over a socket, you can run the DBD::JDBC server anywhere with network connectivity to the database server.


It looks like there are one or more pure Java JDBC drivers for SQL Server, so you could probably use one of them on Linux/Unix.

DBD::JDBC is currently woefully out of date with regard to the DBI and JDBC specs. It was a work project, not a personal one, and updating it unfortunately hasn't made it to the top of the list at work for quite a while.

Gennis




Reply via email to