Clause de non-responsabilité: Je ne connais rien à Oracle ni à Java. Le problème est dans un projet qu'un autre développeur a terminé à un moment donné, puis a quitté l'entreprise. Maintenant, je dois configurer le serveur web, la base de données et tout faire fonctionner.ResultSet.getString() sur la colonne VARCHAR2 renvoie la chaîne vide
le code est environ ceci:
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:<user>/<password>@localhost:1521:xe");
OracleConnection ocon = (OracleConnection)ods.getConnection();
OracleStatement stmt = (OracleStatement)ocon.createStatement();
OracleResultSet rs = (OracleResultSet)stmt.executeQuery("SELECT POLLID, QUESTION, ISMULTISELECT FROM POLL WHERE POLLID = " + pollID);
if (!rs.next()) {
System.out.println("No rows found.");
return false;
}
this._PollID = rs.getInt("POLLID");
this._Question = rs.getString("QUESTION");
this._IsMultiSelect = rs.getBoolean("ISMULTISELECT");
Les colonnes POLLID et ISMULTISELECT retour valeurs correctes comme prévu. La question semble toujours retourner la chaîne vide. La valeur dans la base de données n'est évidemment pas vide. Le rs.getAsciiStream("QUESTION").available()
renvoie également 0. Est-ce que je manque quelque chose de complètement évident ici?
EDIT:
sqlplus renvoie la valeur varchar2 très bien
connexion via odbc (par opposition à mince) fait aussi les choses fonctionnent
(SQL Developer est gratuit et facile à configurer, en particulier puisque l'utilisateur/psrd & server sont déjà présents pour vous) – Harrison
sqlplus renvoie des données très bien. –
Quel type de données est 'QUESTION' dans la table -' VARCHAR2'? 'CLOB'? –