今天在使用另外一个数据库通过DBLINK 链路进来的一张表时,抛出“ORA-02041: 客户数据库未开始一个事务处理”异常,但是简单的BeginTransaction好像并不能解决问题,苦翻了一通资料,又上网转了半天,最终在一个博客里发现了一个隐含的解决办法,下面明示给大家。
数据服务器A要访问另一台数据服务器B,都是oracle数据库。
登录数据服务器A后,建了database link
create public database link dbsb using 'dbsb';
然后在数据服务器上用sqlplus执行:select * from t_1@dbsb;时是正确的。
关键原因出在了C#.NET连接Oracle的字符上。
这是我原先写的,能连上,可执行其他的数据库命令,包括建立数据库链接,但就是执行连接查询时提示"ORA-02041: 客户数据库未开始一个事务处理"。
String con = "Data Source=" + Sid + ";User=" + User + ";Password=" + Psd + ";"