- 论坛徽章:
- 0
|
数据库:sybase 12.5.2(称为A库)和sybase 12.5.0.3(称为B库)
CREATE TABLE dbo.test
(
asd decimal(14,2) NULL
)
通过JDBC连接数据库,获得连接conn。
String sql = "insert into test(asd) values(?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,"null");
ps.excuteUpdate();
同样的程序连接两个库时会产生不同的结果,连接B库时test表会插入空值,而连接A库时ps.excuteUpdate()语句会抛异常(要求convert)。
程序我不想改,还有什么办法可以做到连A库时也插入空值?
可以通过更改Sybase的什么设置么?或者写存储过程对预编译语句在联编变量时进行处理(使语句接到"null"时将其转换为null处理)?
背景:A库是我自己建的,库结构来源于B库。
请诸位高人帮忙。
另外,对于预编译语句,数据库是如何绑定变量的?是通过存储过程完成么?
其实问题集中在一点:B库收到字符串"null"时为何会插入test表一个空值? |
|