G
Guest
Gast
Hallo,
ich versuche schon seit längeren Objecte in meine hsyldb zu schrieben. Aber es klappt einfach nicht.
Hier ist die Exception:
java.sql.SQLException: Wrong data type: hexadecimal string contains non hex character
at org.hsqldb.jdbc.jdbcUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
at start.main(start.java:4696)
Ich verstehe aber nicht warum diese exception kommt.
Da meine Inhalt Spalte die im Code benutzt wird den Typ LONGVARBINARY hat und ich einen BinaryStream hineinschreibe.
Hat jemand einen Tipp für mich wie ich dem Fehler auf die Spur kommen könnte!?
Hier ist der Code:
mfg Florian Schenk
ich versuche schon seit längeren Objecte in meine hsyldb zu schrieben. Aber es klappt einfach nicht.
Hier ist die Exception:
java.sql.SQLException: Wrong data type: hexadecimal string contains non hex character
at org.hsqldb.jdbc.jdbcUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
at start.main(start.java:4696)
Ich verstehe aber nicht warum diese exception kommt.
Da meine Inhalt Spalte die im Code benutzt wird den Typ LONGVARBINARY hat und ich einen BinaryStream hineinschreibe.
Hat jemand einen Tipp für mich wie ich dem Fehler auf die Spur kommen könnte!?
Hier ist der Code:
Code:
public static void main(String[] args)
{
try
{
Class.forName ("org.hsqldb.jdbcDriver");
String db_url = "jdbc:hsqldb:http://192.168.0.3:81";
Connection my_con = DriverManager.getConnection(db_url, "sa", "");
Vector vec = new Vector();
vec.add(new Integer(2));
vec.add(new Integer(5));
vec.add(new Integer(4));
vec.add(new Integer(3));
vec.add(new Integer(2));
vec.add(new Integer(5));
vec.add(new Integer(4));
vec.add(new Integer(3));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream in = new ObjectOutputStream(baos);
in.writeObject(vec);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
PreparedStatement ps = my_con.prepareStatement("UPDATE table SET inhalt=? WHERE id = 2"); ps. ps.setBinaryStream(1, bais, bais.available());
ps.executeUpdate();
ps.close();
my_con.close();
} catch (SQLException e1)
{
e1.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
mfg Florian Schenk