站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题JDBC同时连接Oracle10g和9i得问题

JDBC同时连接Oracle10g和9i得问题

摘要: JDBC同时连接Oracle10g和9i得问题


现在程序要访问得Oracle包括9i和10g。怎么同时连接这两个数据库。。JDBC驱动不通用
(注:我通过JDBC访问9i,通过ODBC访问10g。但是ODBC中Oracle一些特性无法使用。例如RAISE no_data_found,通过ODBC访问时不报错)


JDBC应该是向下兼容的吧


JDBC应该都是可以访问的吧。


JDBC 9i得驱动不能连10g。。

怀疑是10g得事务处理不一样了。。
在10g中
例如执行:RAISE no_data_found;。。程序可以报错
但执行
if XXX then
insert into XX values(xx)
commit;
end if
RAISE no_data_found;
在SQLPLUS中报错。但在程序中不报错。为什么??以上代码在9i中没问题



只知道9可以兼容8的。不知道10能不能兼容9的。


应该可以向下兼容。。。


if XXX then
insert into XX values(xx)
commit;
end if
RAISE no_data_found;

你把你的代码改改呢?
begin
if XXX then
insert into XX values(xx)
commit;
end if
exception
when no_data_found then null;
end;

你试一下,是否在oracle的9i和10g都能编译过去,我这里没有环境,,以前我写pl/sql的时候写例外都是这样写的。


oracle的高版本是绝对支持低版本的东西,但低版本要往高版本有可能会出问题。。


如果是web数据库的话,用连接池不就行了,为9i和10g各建立一个datasource,使用jndi。


tcmis(难道你忘了吗?) 我是要自己出发异常。降当前语句中止。但中止前向表当中插入一条提示数据。。

10g客户端无法连接。。通过ODBC连接得。。但是ODBC在提交后面得异常就不执行了。。怎么处理?


谢谢大家。。问题已经解决。。ODBC在处理Oracle得no_data_found的时有问题。。不把它当作错误,被忽略,语句执行成功。。估计是在微软的数据库中没有设置这个异常,所以在ODBC里不把它当作错误。后来我设置了一个微软数据库有的异常(被0除)解决了。。


↑返回目录
前一篇: BOSS发送报文!高手进来看看!
后一篇: map中怎么能把key值和value中各属性值都显示在JSP页面上?????????????