【发布时间】:2016-12-05 06:11:16
【问题描述】:
我已阅读有关在数据库中存储对象的 H2 文档。有特殊的 SQL 类型 OTHER 和方法 setObject 和 getObject。我试过这段代码:
PreparedStatement statement = null;
try {
statement = connection.prepareStatement("CREATE TABLE PUBLIC.foo (name VARCHAR(64) NOT NULL, data OTHER NULL);");
statement.execute();
} finally {
statement.close();
}
statement = null;
try {
statement = connection.prepareStatement("INSERT INTO PUBLIC.foo (name, data) VALUES(?,?);");
statement.setString(1, "lololo");
statement.setObject(2, new String[]{"foo", "bar"});
statement.execute();
}finally {
statement.close();
}
但我有例外:
org.h2.jdbc.JdbcSQLException: ШеÑ�тнадцѰтиричнаÑ�Ñ�трок¡°Ñ�о¡ ´ÐµÑ€Ð¶Ð¸Ñ, нешеÑÑ,надцаÑ,иричные Ñ�имволы: "(foo, bar)" 十六进制字符串包含非十六进制字符:“(foo, bar)”; SQL 语句: INSERT INTO PUBLIC.foo (name, data) VALUES(?,?) -- (?1, ?2) [90004-191]
怎么了?
【问题讨论】: