bonjour,

voilà j'essaye actuellement de récupérer des informations d'une base de données. La récupération se fait au moyen d'une source ODBC.

Lors que j'essaye de récupérer un champ nommé GL_Text dans la bdd au travers d'une application JAVA je me retrouve avec une erreur. Ce champs est le 8ième champs de la bdd et contient une chaîne > 255.

Lorsque j'essaye de récupérer des infos sur ce champs j'obtiens:

INFORMATIONS SUR LA COLONNE D'INDEXE 8
Type SQL dans java.sql.Types : -1
Nom du type SQL : MEMO
Classe java correspondante : java.lang.String


Donc si je veux récupérer la valeur, je me dis que le plus simple est un getString("GL_Text") sur le resultset. Hors ça fonctionne pas!!!
Par contre un
getBinaryStream("GL_Text") fonctionne mais je sais pas comment le récupérer sous forme de String après!


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
String Request3="SELECT * FROM F_Glossaire ";	
Statement stmt3 =null;
ResultSet rs3 = null;
try{
 stmt3 = connection.createStatement();
 rs3 = stmt3.executeQuery(Request3);
 
 ResultSetMetaData metadata = rs3.getMetaData();
 
  for(int i = 0; i< metadata.getColumnCount(); i++){
    int index = i+1;
    int typeSQL = metadata.getColumnType(index); 
    String nomTypeSQL = metadata.getColumnTypeName(index); 
    String typeJava = metadata.getColumnClassName(index);
 
    System.out.println("INFORMATIONS SUR LA COLONNE D'INDEXE "+index);
    System.out.println("Type SQL dans java.sql.Types : "+typeSQL);
    System.out.println("Nom du type SQL : "+nomTypeSQL);
    System.out.println("Classe java correspondante : "+typeJava);
  }
 
 
 if(rs3.next())
 {
//ERREUR DE CONVERSION														 System.out.println("GL_Text:"+rs3.getString("GL_Text"));								
 
//LA CA MARCHE MAIS JE SAIS PAS LE TRAITER POUR EN FAIRE UN STRING
test = convertStreamToString(rs3.getBinaryStream("GL_Text"));
 }
}
catch(Exception d)
{
 d.printStackTrace();	
}
finally
{
 if (stmt3 != null)
 try {
       rs3.close();
	stmt3.close();
 } catch (SQLException f) {
  f.printStackTrace();
}
}

Je suis sur cetre erreur depuis 2 jours. Help!