Hi,

i see. Is this a J2SE Application or is it some kind of J2EE based app, where you have a servlet container or ejb container running? If you are on J2EE, i would suggest using JNDI and a slightly different approach when it comes to external declaration.

With J2SE, you normally dont have a naming service running and my suggestion wont work. When you cant change your property format, then i dont know if using datasources is the best way...


Price, Chris wrote:
Marc,

I understand your point - I can't find a setter missing.

The problem is that currently the jdbcUrl & driver properties are defined in
external property files, to allow our customers to configure their own
connection information, and changing the format of this is not an option.

So to use the existing information, I'll have to parse the JDBC URL string
to strip out the hostname and any parameters on the URL, process the
parameter file, then use reflection to call all the correct setters on
AS400JDBCDataSource. That's a lot of work to replace 2 lines of code.

To make it worse, when you look inside the code for AS400JDBCDataSource,
it's then rebuilds the JDBC URL, based on what it thinks it should be
anyway! So why can't I just set it upfront?

Chris.

-----Original Message-----
From: Marc Logemann [mailto:spam1@xxxxxxxxxxxx] Sent: 25 August 2004 17:04
To: Java Programming on and around the iSeries / AS400
Subject: Re: Converting DriverManager connection to DataSource connection



Price, Chris wrote:


All,

I have some code that creates a connection object the old fashioned, JDBC 1
way:


Class.forName("com.ibm.as400.access.AS400JDBCDriver").newInstance();
Connection con = DriverManager.getConnection(myJDBCUrl,myDriverProps);


I need to convert it to use more up to date DataSource, which I thought would be a simple enough job. But I'm stumped. All I really need is a DataSource Implemetation that will wrap a connection configured as above, but such a thing doesn't seem to exist.

I've looked at JT400, expecting something there would do the job for me, and com.ibm.as400.access.AS400JDBCDataSource sounds like what I need. But it is configured in a completely different way:
public AS400JDBCDataSource(java.lang.String serverName,
java.lang.String user,
java.lang.String password)
and can't take all the options that can be specified on the JBDC url or the properties file.


What am I missing here?

Chris.


Hi,

you are missing that an object is more than its set of constructor parameters. There are a lot of setter methods doing different things...

AS400JDBCDataSource.setLibraries()
AS400JDBCDataSource.setNaming()
[..]

Or do you miss some setters which should be there?



--

regards
Marc Logemann
http://www.logemann.org

--
"Programming is like Sex, one mistake and you support it for a lifetime"

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.