Re: JDBC connection to mysql problem
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
--232016332-1389119719-1285276146=:13572
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT
On Thu, 23 Sep 2010, Lew wrote:
On Sep 23, 1:15?pm, Martin Gregorie <mar...@address-in-sig.invalid>
wrote:
On Thu, 23 Sep 2010 16:21:40 +0300, Donkey Hottie wrote:
That seems to be a desktop app, not a JavaEE app. Are DataSources
available in Java SE too, nowadays?
Yes, in Java 6 SE. However, java.sql.DataSource is simply an interface
that may or may not be implemented by your JDBC provider.
It is not currently supported in PostgresQL 8.4 or 9.0devel: the
documentation for both versions describe Class.forName() and using the
java -Djdbc.drivers=org.postgresql.Driver option as the only ways to
load it.
In Java EE environments PG sets up as a data source just fine. I've
done it repeatedly.
Furthermore, examination of the JDBC JAR for PG shows several
'DataSource' classes in their own 'ds' package, e.g.,
'org.postgresql.ds.PGPoolingDataSource'. I think you are mistaken.
$ jar tf /usr/local/share/java/postgresql-8.4-701.jdbc4.jar | grep -i datasource | sort
org/postgresql/ds/common/BaseDataSource.class
org/postgresql/ds/jdbc23/AbstractJdbc23PoolingDataSource$1.class
org/postgresql/ds/jdbc23/AbstractJdbc23PoolingDataSource.class
org/postgresql/ds/jdbc23/AbstractJdbc23SimpleDataSource.class
org/postgresql/ds/jdbc4/AbstractJdbc4PoolingDataSource.class
org/postgresql/ds/jdbc4/AbstractJdbc4SimpleDataSource.class
org/postgresql/ds/PGConnectionPoolDataSource.class
org/postgresql/ds/PGPoolingDataSource.class
org/postgresql/ds/PGSimpleDataSource.class
org/postgresql/jdbc2/optional/PoolingDataSource.class
org/postgresql/jdbc2/optional/SimpleDataSource.class
org/postgresql/xa/PGXADataSource.class
org/postgresql/xa/PGXADataSourceFactory.class
That jar also contains a
META-INF/services/java.sql.Driver
Which should, i believe, be sufficient for DriverManager to load the
driver without a Class.forName call.
tom
--
Information is not knowledge. -- Albert Einstein
--232016332-1389119719-1285276146=:13572--