Skip to Content.
Sympa Menu

freetds - Re: [JDBC] setObject() - not implemented

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Henry Lafleur <HLafleur AT phoenixforge.com>
  • To: TDS Development Group <freetds AT franklin.oit.unc.edu>
  • Subject: Re: [JDBC] setObject() - not implemented
  • Date: Thu, 14 Sep 2000 13:19:16 -0400


Oops! Sorry, I read the correspondence wrong. I meant Jon. (Our Frame Relay
has been out for two days, hence the late response).

Thanks,

Henry


> -----Original Message-----
> From: Bob Kline [mailto:bkline AT rksystems.com]
> Sent: Tuesday, September 12, 2000 3:35 PM
> To: TDS Development Group
> Subject: [freetds] Re: [JDBC] setObject() - not implemented
>
>
> Henry:
>
> Thanks for your reply. However, I'm a bit confused. First, I wasn't
> the one posting the original problem, so I assume you just
> got me mixed
> up with Jon, who was.
>
> Also, I may be exposing some gross misunderstanding of a basic JDBC
> concept, but I'm not sure what cursors have to do with the setObject()
> method. I had thought that setObject() was simply a thin layer
> providing a simple convenience of mapping arbitrary objects to JDBC
> types. Help me understand how this fits in with cursor programming.
>
> Cheers,
> Bob
>
> On Tue, 12 Sep 2000, Henry Lafleur wrote:
>
> > The way that freetds_jdbc is designed, it seems that it JDBC 1.0 was
> > in mind. The process seems to be:
> >
> > 1) Take the user's (the user being a Java program) query
> and send it to the
> > SQL server.
> > 2) Take the response from the SQL server and read it as the
> user goes
> > through the result set using next(), if there is a result
> set. Let the user
> > go to other result sets, if any.
> >
> > (My description is a little oversimplified here.)
> >
> > Given this, how would the setObject be implemented in
> freetds_jdbc? It seems
> > that the only way to do this would be for freetds_jdbc to
> work differently.
> > One way would be to open a cursor and keep the connection
> open as the user
> > moves around the result set with next(), prev(), first(), last(),
> > movetoinsertrow(), etc. (I didn't verify the method names
> here) and to
> > compute update statements using the "where current of <cursor>" SQL
> > condition. The insert statement is straightforward: use
> Insert <table name>
> > ... In other words, implement JDBC 2.0.
> >
> > I know that the 1.0 implementation is the current goal, but
> has anyone
> > discussed this?
> >
> > For your problem Bob, I use an abstraction layer on top of
> JDBC to handle
> > table navigation and saving data back to the database. My
> abstraction layer
> > requires that tables have keys. Without keys how do you
> know which record in
> > the table to change? (a semi-rhetorical question) Since you
> can't use
> > cursors, there is no way to know that the record that you
> are looking at is
> > the only record that will be changed in an update statement
> unless you have
> > a table-wide unique identifier.
> >
> > An MS-SQL timestamp field will also work as a key. This also has the
> > advantage that if the record has changed since you read it,
> your update will
> > not change it again since timestamps change on update. You
> would need to
> > check to see if no records were affected by the update and
> tell the user
> > that someone else changed the record while you were looking at it.
> >
> > Stored procedures are another solution, which brings us to
> server-side
> > programming. They are also much faster that other solutions.
> >
> > Henry
> >
> >
> > > -----Original Message-----
> > > From: Strande, Jon [mailto:JohnS AT nwpasta.com]
> > > Sent: Tuesday, September 12, 2000 12:53 PM
> > > To: TDS Development Group
> > > Subject: [freetds] Re: [JDBC] setObject() - not implemented
> > >
> > >
> > > Bob,
> > >
> > > Sorry about that, I meant to write that it
> > > does not say that it does not work. Quite a
> > > difference... My Readme says: "The prepared
> > > statement class does not have all the data
> > > types implemented yet". Again, my apologies.
> > >
> > > So, I am out of luck huh?
> > >
> > > Thanks Bob,
> > >
> > > Jon
> > >
> > > -----Original Message-----
> > > From: Bob Kline [mailto:bkline AT rksystems.com]
> > > Sent: Tuesday, September 12, 2000 1:58 PM
> > > To: TDS Development Group
> > > Subject: [freetds] Re: [JDBC] setObject() - not implemented
> > >
> > >
> > > On Tue, 12 Sep 2000, Strande, Jon wrote:
> > >
> > > > I have searched for answer for this, so I apologize if this
> > > is a repeated
> > > > question.
> > > >
> > > > NT 4.0 Sp 5
> > > > IIS 4
> > > > Tomcat
> > > > JDK 1.3
> > > > freetds - JDBC V 1.3 1999/03/09 17:15:49
> > > >
> > > > In the readme file it says that setObject works
> > > > yet I am getting an error "not implemented" when
> > > > I call:
> > > > java.lang.Integer myInteger = new... etc.
> > > > myPreparedStatement.setObject(i, myInteger);
> > > >
> > >
> > > The README file that I have doesn't say what yours does. The
> > > one I have
> > > says that getObject() is implemented for all SQLServer
> datatypes, but
> > > says nothing whatsoever about setObject() (which is indeed not
> > > implemented). Where did you get your copy of the README file?
> > >
> > > --
> > > Bob Kline
> > > mailto:bkline AT rksystems.com
> > > http://www.rksystems.com
> > >
> > >
> > > ---
> > > You are currently subscribed to freetds as: JohnS AT nwpasta.com
> > > To unsubscribe, forward this message to
> > > $subst('Email.Unsub')
> > >
> > > ---
> > > You are currently subscribed to freetds as:
> > > HLafleur AT phoenixforge.com
> > > To unsubscribe, forward this message to
> > > $subst('Email.Unsub')
> > >
> >
> > ---
> > You are currently subscribed to freetds as: bkline AT rksystems.com
> > To unsubscribe, forward this message to
> $subst('Email.Unsub')
> >
>
> --
> Bob Kline
> mailto:bkline AT rksystems.com
> http://www.rksystems.com
>
>
> ---
> You are currently subscribed to freetds as:
> HLafleur AT phoenixforge.com
> To unsubscribe, forward this message to
> $subst('Email.Unsub')
>




Archive powered by MHonArc 2.6.24.

Top of Page