[[prog:simplesqlclient.java]] kopis

Route:

Erklärung

Die Klasse SimpleSqlClient habe ich geschrieben, um eine einfach Möglichkeit zur Verfügung zu haben, SQL-Statements abzuschicken und die Ausgabe auf der Kommandozeile umzuleiten oder direkt zu parsen. Funktioniert passabel.

Falls ein spezieller Treiber benutzt werden soll, muss natürlich der Classpath beim Aufruf angepasst werden.


Quelltext

package com.basf.migration.region;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;

import com.csc.provider.DbmsProviderFactory; import com.csc.provider.UnavailableException;

public class SimpleSqlClient {

public SimpleSqlClient(String statement, String driver, String dburl, String username, String password) { Connection conn = null; try { Class.forName(driver); conn = DriverManager.getConnection(dburl, username, password); execute(conn, statement); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch(NullPointerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

private void execute(Connection conn, String statement) throws SQLException { Statement stmt = conn.createStatement(); boolean executed = stmt.execute(statement); ResultSet result = stmt.getResultSet(); for (int column = 1; column <= result.getMetaData().getColumnCount(); column++) { System.out.print(result.getMetaData().getColumnName(column) + ","); } System.out.println();

while(result.next()) { for (int column = 1; column <= result.getMetaData().getColumnCount(); column++) { System.out.print(result.getObject(column) + ","); } System.out.println(); } }

public static void main(String[] args) { if(args == null || args.length != 5) { System.err.println("Usage:\t\t" + SimpleSqlClient.class + " <SQLSTATEMENT> <DRIVER_CLASSNAME> <DB_URL> <USERNAME> <PASSWORD>"); System.exit(-1); } else if(args.length == 5) { new SimpleSqlClient(args[0], args[1], args[2], args[3], args[4]); } }

}

prog:simplesqlclient.java, Rev. 2, Zuletzt geändert 2008-03-10 12:53, 96 Aufrufe
Share/Save/Bookmark
Wiki hosted for free at wikihost.org || RSS-Feed