T
Testlauf
Gast
Guten Morgen,
versuche grade mit eclipse via Java auf meine lokale Datenbank zuzugreifen.
Bei meiner Kollegin funktioniert alles wunderbar, wenn sie das Script auf Windows XP ausführt.
Ich, mit Windows 7, bekomme immer Fehler angezeigt.
Hier erst einmal das Script (aus dem Netz kopiert):
Dabei ist die Zeile
für die Anmeldung an der Datenbank.
Als Fehler bekomme ich
java.sql.SQLTransientConnectionException: connection exception: connection failure: java.io.EOFException
Kann mir da jemand weiterhelfen? Auf dem einen Laptop funktioniert es so einwandfrei, auf meinem aber nicht...
versuche grade mit eclipse via Java auf meine lokale Datenbank zuzugreifen.
Bei meiner Kollegin funktioniert alles wunderbar, wenn sie das Script auf Windows XP ausführt.
Ich, mit Windows 7, bekomme immer Fehler angezeigt.
Hier erst einmal das Script (aus dem Netz kopiert):
Java:
import java.io.*;
import java.sql.*;
public class DbTableShow
{
public static void main( String[] argv )
{
String sDbDrv= "org.hsqldb.jdbcDriver", sDbUrl="jdbc:hsqldb:hsql://localhost/tutorial", sTable="TRACK", sUsr="SA", sPwd="";
if( null != sDbDrv && 0 < sDbDrv.length() &&
null != sDbUrl && 0 < sDbUrl.length() &&
null != sTable && 0 < sTable.length() ) {
Connection cn = null;
Statement st = null;
ResultSet rs = null;
try {
// Select fitting database driver and connect:
Class.forName( sDbDrv );
cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
st = cn.createStatement();
rs = st.executeQuery( "select * from " + sTable );
// Get meta data:
ResultSetMetaData rsmd = rs.getMetaData();
int i, n = rsmd.getColumnCount();
// Print table content:
for( i=0; i<n; i++ )
System.out.print( "+---------------" );
System.out.println( "+" );
for( i=1; i<=n; i++ ) // Attention: first column with 1 instead of 0
System.out.print( "| " + extendStringTo14( rsmd.getColumnName( i ) ) );
System.out.println( "|" );
for( i=0; i<n; i++ )
System.out.print( "+---------------" );
System.out.println( "+" );
while( rs.next() ) {
for( i=1; i<=n; i++ ) // Attention: first column with 1 instead of 0
System.out.print( "| " + extendStringTo14( rs.getString( i ) ) );
System.out.println( "|" );
}
for( i=0; i<n; i++ )
System.out.print( "+---------------" );
System.out.println( "+" );
} catch( Exception ex ) {
System.out.println( ex );
} finally {
try { if( null != rs ) rs.close(); } catch( Exception ex ) {}
try { if( null != st ) st.close(); } catch( Exception ex ) {}
try { if( null != cn ) cn.close(); } catch( Exception ex ) {}
}
}
}
// Extend String to length of 14 characters
private static final String extendStringTo14( String s )
{
if( null == s ) s = "";
final String sFillStrWithWantLen = " ";
final int iWantLen = sFillStrWithWantLen.length();
final int iActLen = s.length();
if( iActLen < iWantLen )
return (s + sFillStrWithWantLen).substring( 0, iWantLen );
if( iActLen > 2 * iWantLen )
return s.substring( 0, 2 * iWantLen );
return s;
}
}
Dabei ist die Zeile
Java:
String sDbDrv= "org.hsqldb.jdbcDriver", sDbUrl="jdbc:hsqldb:hsql://localhost/tutorial", sTable="TRACK", sUsr="SA", sPwd="";
Als Fehler bekomme ich
java.sql.SQLTransientConnectionException: connection exception: connection failure: java.io.EOFException
Kann mir da jemand weiterhelfen? Auf dem einen Laptop funktioniert es so einwandfrei, auf meinem aber nicht...