No Suitable Driver at dataSource.getConnection();

A

alomrani

Hi all ,,

I had my application to connect to the database in a classical way
i.e. not a pooled connection. The method was as fellows

private void connect(){
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(URL,"root","root");
stmt = con.createStatement();
isConnected=true;
}
catch(Exception e)
{
System.out.println(e);
}
}

Now I want to change that function into the following :


private void pooledConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String connectURI = "jdbc:mysql://127.0.0.1:3306/
attendance_test";
DataSource dataSource = setupDataSource(connectURI);
con = dataSource.getConnection();
stmt = con.createStatement();
}

public static DataSource setupDataSource(String connectURI) {
org.apache.commons.pool.ObjectPool connectionPool = new
GenericObjectPool(null);
ConnectionFactory connectionFactory = new
DriverManagerConnectionFactory(connectURI,null);
PoolableConnectionFactory poolableConnectionFactory = new
PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
PoolingDataSource dataSource = new
PoolingDataSource(connectionPool);
return dataSource;
}


I get an Error of a Suitable driver not found At the line that trues
to connect to the datasource

con = dataSource.getConnection();

The thing is I am 100% sure that the classpath is set properly of the
driver. Thats why the prioir method works .. But how come this doesnt
work.

I appreciate all your help guys.
 
R

richardsosborn

Hi all ,,

I had my application to connect to the database in a classical way
i.e. not a pooled connection. The method was as fellows

private void connect(){
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(URL,"root","root");
stmt = con.createStatement();
isConnected=true;
}
catch(Exception e)
{
System.out.println(e);
}
}

Now I want to change that function into the following :

private void pooledConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String connectURI = "jdbc:mysql://127.0.0.1:3306/
attendance_test";
DataSource dataSource = setupDataSource(connectURI);
con = dataSource.getConnection();
stmt = con.createStatement();
}

public static DataSource setupDataSource(String connectURI) {
org.apache.commons.pool.ObjectPool connectionPool = new
GenericObjectPool(null);
ConnectionFactory connectionFactory = new
DriverManagerConnectionFactory(connectURI,null);
PoolableConnectionFactory poolableConnectionFactory = new
PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
PoolingDataSource dataSource = new
PoolingDataSource(connectionPool);
return dataSource;
}

I get an Error of a Suitable driver not found At the line that trues
to connect to the datasource

con = dataSource.getConnection();

The thing is I am 100% sure that the classpath is set properly of the
driver. Thats why the prioir method works .. But how come this doesnt
work.

I appreciate all your help guys.


this could mean a variety of things. your URL could be wrong.
you need to verify the syntax with your driver manufacturer.
the database could be unavailable over the network. you password
could be wrong, etc. try connecting to that database, using a
database client, from your box.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,989
Messages
2,570,207
Members
46,782
Latest member
ThomasGex

Latest Threads

Top