Michael,
What are you using for the JDBC-ODBC bridge, and how is it set up?
I am afraid I don't know much about JDBC, but unixODBC must be
working or isql would not have worked. (Sorry for taking so long to
respond.)
-- Jeff Smith
--- michael <michael@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>
> Hi.. As part of the course I'm currently studying, we are asked to use
> Java to manipulate an MS Access database.
>
> The general idea is that we do this using Java, and the JDBC-ODBC
> gateway for Windows. However, the course team have said that they would
> be interested to hear of success from those of us who are using Linux.
>
> This is how I came to be experimenting with mdbtools.
>
> I can access an mdb database file using the various stand-alone utilities
> that come as part of the mdbtools package, but so far, I'm having no
> success interfacing the database to the ODBC framework using the
> libmdbodbc library that comes as part of mdbtools and consequently my
> attempts at accessing the database via the JDBC-ODBC bridge are also
> failing.
>
> A guy called Bryan Mills has a webpage documenting his success using
> the mdb ODBC driver and UnixODBC (which he accesses with PHP rather than
> Java) but his success seems to be unique.
>
> I can't find anyone else on the net who has duplicated it. Bryan's
> webpage is at http://bryanmills.net:8086/archives/000099.html
>
> I've followed Bryan Mills' example for creating the UnixODBC template
> files (where my odbcinst.ini references the mdb driver library and
> odbc.ini references the DSN and its database) and then I've used the
> isql tool which comes as part of UnixODBC to successfully query the mdb
> database, but that's about as far as my successes have gone.
>
> root@home mdbtools]# isql M360products
> +---------------------------------------+
> | Connected! |
> | sql-statement |
> | help [tablename] |
> | quit |
>
> +---------------------------------------+
> SQL> select ProductName,Quantity from StoreProducts where Quantity<50
> +---------------------------------------------------+---------+
> | ProductName | Quantity|
> +---------------------------------------------------+---------+
> | Blue Shirts | 30 |
> | Green Shirts | 0 |
> | Grey Trousers | 0 |
> | Khaki Trousers | 33 |
> | White Jackets | 22 |
> | Green Jackets | 44 |
> +---------------------------------------------------+---------+
> 6 rows affected
> 6 rows returned
> SQL>
>
> The following show the contents of my odbc.ini file, which should, as far
> as I understand it, bind the MDB ODBC service to port 5432. I'm curious
> to find that netstat doesn't show anything listening on 5432. Is that
> an indication that something is wrong?
>
> [root@home lib]# cat /etc/odbc.ini
>
> [ODBC Data Sources]
> M360products = libmdbodbc
>
> [M360products]
> Driver = /usr/local/lib/libmdbodbc.so
> Description = M360 products
> Database =
> /home/michael/M360/TextExercises/C5Code/5.1/src/Ex51/ProductsExercise.mdb
> ServerName = localhost
> Port = 5432
>
> Using the odbcinst tool to query UnixODBC shows that the MS Access driver
> has apparently been successfully loaded by UnixODBC, and that my demo
> MS Access database, ProductExercise.mdh has been successfully registered
> on the ODBC resource with the Data Source Name M360Products.
>
> [root@home lib]# odbcinst -q -d
> [MDBToolsODBC]
>
> [root@ttfn35 lib]# odbcinst -q -s
> [M360products]
> [ODBC]
>
> Unfortunately, when I execute Java code known to work for Windows ODBC
> and which should issue an SQL query against this database through the
> JDBC-ODBC gateway, I get the following error reported:
>
> [root@home Ex51]# java ex51/QuerySolution
> ***Solution being executed***...
> Driver loaded
> Problem accessing the database java.sql.SQLException:
> [unixODBC][Driver Manager]Data source name not found, and no default
> driver specified
>
> I've tried using the mdbodbc driver that comes with the latest version of
> mdbtools packaged in RPM format, and I've built mdbtools from the source
> tar ball on the mdbtools site and I've tried the latest version from CVS
> (which apparently now supports mdb write) but sadly all have stalled at
> this same hurdle.
>
> I'm currently moving from UnixODBC to iODBC in order to rule out that as
> the problem.
>
> Would someone kind here please point out what I'm doing wrong, and how
> they got the ODBD mdb driver to function as it is intended.
>
> Thank you (and apologies for the long-winded posting!)
>
> Michael
__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
|