Salut,
Bon en théorie il ne faut pas poster a plusieurs endroits mais puisque mon problème est autant JAVA que Sybase, je me permets d'ouvrir ce post avec la référence du premier :
http://www.developpez.net/forums/d79...r/#post4567156
Grosso modo mon souci, j'ai une table déclaré comme suit :
Avec le code suivant j'ai un souci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create table TESTDBUNIT ( ID NUMERIC(5) IDENTITY PRIMARY KEY NOT NULL, FIELD_1 NUMERIC(1,0) default 0, FIELD_2 NUMERIC(1,0) default 0, ) go
En effet j'insère 1 et 0 et non 1 et 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Class.forName("com.sybase.jdbc2.jdbc.SybDriver"); Connection conSybase = DriverManager.getConnection("jdbc:sybase:Tds:neptune.sungard-finance.fr:4126", "cis", "***"); PreparedStatement stmt =conSybase.prepareStatement("INSERT INTO TESTDBUNIT VALUES (?, ?)"); stmt.setLong(1,Long.valueOf(1)); stmt.setBigDecimal(2,BigDecimal.valueOf(1)); stmt.executeUpdate(); stmt.close(); conSybase.close();
Or Numeric doit normalement être équivalent a BigDecimal en Java donc ca doit être correct de faire setBigDecimal.
Avec NUMERIC(5) à la place de NUMERIC(1), ca fonctionne
Partager