Bonjour,
j'ai un petit souci qui est plus ou moins contourné mais j'aurai bien aimé le comprendre quand même:
J'ai une table Oracle avec 3 colonnes, un Blob, un Number et un Varchar (ça fait très blague belge comme début...)
Je fais donc le select des trois colonnes dans mon petit connecteur JDBC, et ensuite je récupère le résultat.
me renvoie un tableau de taille 88, avec des données visiblement farfelues dedans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 byte[] tableauDirect rs.getBytes(1);
tandis que
me renvoie le bon tableau, de 1800 octets environ, soit une différence assez énorme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Blob blob = rs.getBlob(1); byte[] tableauBlob = blob.getBytes(1, (int) blob.length());
Je précise que le getBytes direct marchait avant et qu'on a fait quelques modifs de configuration que j'ai oublié, à la suite de quoi ça s'est mis à merdouiller.
Quelqu'un a-t-il déjà vu ça?
Quelques détails techniques:
- Base Oracle 10g
- connecteur ojdbc14.jar
- Voici le datasource:
Code xml : 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 <local-tx-datasource> <jndi-name>jdbc/tn9</jndi-name> <use-java-context>true</use-java-context> <connection-url>jdbc:oracle:thin:@monserveur:1521:MABASE</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>login</user-name> <password>password</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <min-pool-size>0</min-pool-size> <max-pool-size>20</max-pool-size> <blocking-timeout-millis>5000</blocking-timeout-millis> <idle-timeout-minutes>5</idle-timeout-minutes> <check-valid-connection-sql>select sysdate from dual</check-valid-connection-sql> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource>
Comme je l'ai dit c'est pas très urgent la solution a été trouvée mais du coup je m'inquiète un peu pour la suite, parce que ça semble pas très stable comme système...
Partager