idioteque
09-10-2008, 14:23
Salve ragazzi, ho un piccolo problema. ho realizzato un programma in java che legge i dati da un database access e li inserisce in uno mysql. Il problema sta che una tabella sola ha alcuni campi che sono criptati e che quindi leggendoli normalmente hanno dei caratteri particolari. Anticipo subito che i dati nn posso decriptarli ma li devo x forza trasferire così. Quindi il problema sta che quando trasferisco questi dati da un database all'altro, se x esempio nel db access c'è un quadrato, in mysql m spunta un punto interrogativo. Come posso risolvere il problema?
Questa è la funzione che legge il record dal database access
public Vector eseguiQuery(String query) {
Vector v = null;
String [] record;
int colonne = 0;
try {
Statement stmt = db.createStatement(); // Creo lo Statement per l'esecuzione della query
ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();
while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add( (String[]) record.clone() );
}
//System.out.println("colonne"+colonne);
rs.close(); // Chiudo il ResultSet
stmt.close(); // Chiudo lo Statement
} catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); }
return v;
}
io credo che il problema sia quando faccio il casting (evidenziato in rosso) come una stringa, anche se in teoria il tipo String nn è già unicode?
Questa è la funzione che legge il record dal database access
public Vector eseguiQuery(String query) {
Vector v = null;
String [] record;
int colonne = 0;
try {
Statement stmt = db.createStatement(); // Creo lo Statement per l'esecuzione della query
ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();
while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add( (String[]) record.clone() );
}
//System.out.println("colonne"+colonne);
rs.close(); // Chiudo il ResultSet
stmt.close(); // Chiudo lo Statement
} catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); }
return v;
}
io credo che il problema sia quando faccio il casting (evidenziato in rosso) come una stringa, anche se in teoria il tipo String nn è già unicode?