遭遇Ora-02041:客户端数据库未启动一个事务,好在摆平了

做了一个程序,使用客户已有的数据库,使用OracleClient在连接时正常,在对数据库内的表进行操作时,提示Ora-02041错误.包括所有的查询操作,一时找不到原因,郁闷之极。昨天在对连接字符串时行研究时发现,其中有一项Omit Oracle Connection Name,是连接低版本(低于9i)时用的,开发工具内的说明是:
如果为True,则省略通过Oracle OCI设置连接名称属性的调用。如果为False(默认值),将设置连接名称属性。在分布式事务登记时需要该属性。如果使用9i之前的数据库,此连接字符串选项应设置为True,因为较早版本不支持使用OCI连接名称属性。

程序内的连接字符串为连接9i时的字符串:Data Source=server;Persist Security Info=True;User ID=user;Unicode=True,而客户所使用的数据库为8,因此就会出现错误信息了,只能怪自己没有仔细注意这些东西,浪费了这么长的时间。

修改后的连接串为:Data Source=server;Persist Security Info=True;User ID=user;Unicode=True;Omit Oracle Connection Name=True,呵呵,问题解决

posted on 2007-07-04 08:02  龙少爷  阅读(1031)  评论(1编辑  收藏  举报

导航