2010-08-17 51 views
1

我在删除存储在两个单独的SQL服务器上的记录时存在一个小问题。从两个单独的SQL数据源中删除记录

我正在使用与一个数据源链接的删除按钮commandfield的数据网格上的ASP.NET数据绑定控件。

有没有办法从同一时间从另一个数据源中删除相同的记录?

任何意见将不胜感激。

+0

非常感谢您的意见。 – user423016 2010-08-18 07:36:40

回答

1

修改您的代码以使用ObjectDataSource并在分布式事务中的两台服务器上运行删除。

0

您可以编写一个管理/继承/外观的图层来获得您需要的功能吗?......看起来像:Ladislav Mrnka打败了我。

+0

...我假设你没有单独的BOL和DAL?否则这将很简单。运行两个查询的 – 2010-08-17 15:32:41

1

在MSSQLServer中,如果要使用SQLDataSource,正确的方法是使用“链接服务器”功能将服务器添加到彼此的实例。

然后生成一个存储过程,从两个数据库中删除所需的任何记录。 将存储过程附加到网格的删除方法。

编辑: 我应该注意到这取决于您的SQLServer版本。但是,我认为存储过程是迄今为止最可维护的方式,如果支持的话。

0

根据您的特定版本的SQL有可能是一种方法来做到这一点(我不知道一个,但它可能存在)。从.NET代码中使用MSSQL的最基本方法是针对两个不同的SQL连接运行两次查询(因为您提到数据位于两个不同的服务器上,不仅仅是DB中的不同表或者甚至跨同一服务器上的两个DB )。

+0

使该进程非原子化,并为导致数据不一致的失败打开更多潜在问题。 – Matthew 2010-08-20 23:30:50