做了一个C#的小程序,定时把数据从sql server中取出,并放到oracle中,读两个数据库前都打开了事务,数据处理完后commit,但经常出现数据丢失的问题,在oracle中的数据与从sql server中读取的数据的数量不一致,请高手分析一下原因~程序的结构如下:
class father()
{
void BeforeExc()
{
打开连接...打开事务
} void AfterExc()
{
关闭连接
} virtual void OnExc()
{ }
}class CA :father
{
override void OnExc()
{
try
{
从sql server中取数据...
插入oralce中.. commit();
}
catch.....回滚 }
}
class father()
{
void BeforeExc()
{
打开连接...打开事务
} void AfterExc()
{
关闭连接
} virtual void OnExc()
{ }
}class CA :father
{
override void OnExc()
{
try
{
从sql server中取数据...
插入oralce中.. commit();
}
catch.....回滚 }
}
命名空间好像是transcation
类是TransactionScope
没有看全部代码不好说. 你只要相信微软和Oracle的数据库不会出错(极少),就应该看看自己的执行方式.