datenbank verbindung

nero110

Mitglied
guten morgen,

hat jemand eine ahnung, wieso folgender code statt eine arraylist mit zwei datenbanknamen (es existieren zwei datenbanken) nur eine leere arraylist zurueckgibt?

Code:
 public ArrayList server_getDatabases() throws RemoteException {
   	ArrayList arr = new ArrayList();
 	
 	try {
 	  String query = "SHOW DATABASES";
 	  
 	  Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/");
 	  
 	  Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
 	  
 	  ResultSet resultset = statement.executeQuery(query);
 	  
 	  while(resultset.next()){		  
 		  arr.add(resultset.getString(1));	  
 	  }  
 	  
 	  statement.close();
 	  
 	  connection.close();
 	  
 	  return arr;
 	}
 	catch(Exception e) {
 	  return arr;
 	}
   }

danke im voraus,

chris
 
Nachtrag: Wenn ich im catch Block den Fehler ausgebe, erhalte ich ein "No suitable Driver" Fehler. Wie kriege ich denn den "suitable" Driver?
 
Komisch: Bei meiner Oracle-DB kommt nur "unbekannte Option..."

Als Resultat kommt einfach nur "nichts" zurück, d.h. auch bei mir bleibt die ArrayList leer, da die "next()"-Methode schon zu Beginn false liefert.
 
liegt wahrscheinlich an dem no suitable driver problem bei mir...

und bei dir geht es nicht, weil ich ja versuche, auf eine mysql datenbank zuzugreifen.
 
Hallo!

Schau mal hier:
Code:
/*
 * Created on 14.02.2005
 *
 */
package de.tutorials;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

/**
 * @author TDarimont
 *  
 */
public class DatabaseLister {

	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
		} catch (Exception e) {
			e.printStackTrace();
		}

		MysqlDataSource ds = new MysqlDataSource();
		ds.setServerName("localhost");
		ds.setPort(3306);
		ds.setUser("root");
		ds.setPassword("");

		Connection con = null;
		try {
			con = ds.getConnection();
			DatabaseMetaData dbmd = con.getMetaData();
			ResultSet rs = dbmd.getCatalogs();
			System.out.println("Im System verfügbare Datenbanken:");
			while (rs.next()) {
				System.out.println(rs.getString(1));
			}

			rs.close();
		} catch (SQLException e1) {
			e1.printStackTrace();
		} finally {
			if (con != null)
				try {
					con.close();
				} catch (SQLException e2) {
					e2.printStackTrace();
				}
		}

	}
}

Gruß Tom
 
Zurück