Re: [INTERFACES] ODBC, large objects and tracing - Mailing list pgsql-interfaces

From Peter Mount
Subject Re: [INTERFACES] ODBC, large objects and tracing
Date
Msg-id Pine.LNX.4.10.9912222254280.553-100000@maidast.retep.org.uk
Whole thread Raw
In response to Re: [INTERFACES] ODBC, large objects and tracing  ("Joe Shevland" <shevlandj@kpi.com.au>)
List pgsql-interfaces
On Wed, 22 Dec 1999, Joe Shevland wrote:

> > I am porting an application from Win NT to Linux. It is an application for
> > storing, querying, subsetting and exporting geographic data. On NT the
> data
> > is stored in MS SQL Server, database access is handled through a dll which
> > handles all requests for data from the application. The dll is written
> using
> > ODBC 3 as the interface to SQL Server.
> >
> > I installed postgresql 6.53 a few days ago and had a go at getting the dll
> > code working with the postgresql odbc driver. As the driver is written for
> > odbc 2.0, I decided to try the UnixOdbc driver and driver manager. Using
> > their package my code compiled perfectly, with NO modifications.
> >
> > However, I immediatley ran into trouble when inserting into large-objects
> > (Lot's of blobs in this app!). In the server trace there was an error to
> the
> > effect of "Invalid large object descriptor".
> >
> > That had me stumped until yesterday, when I ran across a patch for the
> ODBC
> > driver on this mailing list (dated Dec. 8, 99). I applied the patch (by
> > hand) to the UnixODBC version of the postgres driver, and the problem went
> > away. I'm impressed! I thought it was going to be way more difficult than
> > this.
> >
> > If anyone is interested, I would be happy to supply the modified source
> > files for the driver and a script I cobbled together to add the large
> object
> > support functions, data type and table trigger (for deleting lo's). It all
> > seems to work quite well.

Theres an example trigger to automatically delete lo's when the row
containing a reference to them is deleted in the source tree, under
contrib/lo.

> I'd definitely like to have a look at the script that was cobbled together
> to add all that... I've been having troubles but its with the JDBC driver
> and large objects, but I think its just that I haven't done all thats
> necessary on the postgres side to enable it.

Lo's should be useable from the outset, except that you need to
setAutoCommit(false) to enable transactions. LO's can't be used outside of
a transaction.

If you still have problems with JDBC & LO's, let me know.

Peter

--      Peter T Mount peter@retep.org.uk     Main Homepage: http://www.retep.org.uk
PostgreSQL JDBC Faq: http://www.retep.org.uk/postgresJava PDF Generator: http://www.retep.org.uk/pdf



pgsql-interfaces by date:

Previous
From: "Ken J. Wright"
Date:
Subject: RE: [INTERFACES] pgadmin question
Next
From: Adolfo Diaz
Date:
Subject: INTERFACES ODBC