Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 每天使用外部Web服务更新sql server表_.net_Sql Server - Fatal编程技术网

.net 每天使用外部Web服务更新sql server表

.net 每天使用外部Web服务更新sql server表,.net,sql-server,.net,Sql Server,我们从外部web服务中提取数据,将数据保存到表中 该表大约有1900行。调度程序每天运行,表每天更新 这样做的方式是: 一旦1900行作为列表准备就绪,旧的1900行将被删除(存储过程),新的1900行将被添加(另一个存储过程) 但有时外部web服务无法正常工作。因此,旧行将被删除,但新行不会被添加。因此,该表是空的 我就是这样解决这个问题的: 将当前MyTable重命名为MyTable_06072015 将新表创建为MyTable并复制新行 删除昨天的表格-MyTable_06062015 我

我们从外部web服务中提取数据,将数据保存到表中

该表大约有1900行。调度程序每天运行,表每天更新

这样做的方式是:

一旦1900行作为列表准备就绪,旧的1900行将被删除(存储过程),新的1900行将被添加(另一个存储过程)

但有时外部web服务无法正常工作。因此,旧行将被删除,但新行不会被添加。因此,该表是空的

我就是这样解决这个问题的:

将当前MyTable重命名为MyTable_06072015

将新表创建为MyTable并复制新行

删除昨天的表格-MyTable_06062015

我现在有几个问题:

这是解决这个问题的正确方法吗?
SQL server端是否会出现任何问题,重命名当前表、创建新表以及每天删除昨天的表?

我认为您应该告诉我们“工作不正常”是什么意思。例如,如果由于Web服务有时不可用而获得500 http响应,则可以在删除行之前检查Web服务的状态,如果它不同于20x,则不执行任何操作

但是如果你不是这个意思,可能你的意思是Web服务是可用的,但是没有返回任何内容,因为“我不知道”。你说你正在使用一个列表。您可以在删除行之前检查列表的长度


从sql方面来说,您不会遇到问题,但如果我没有错的话,只有在新的一个为空时,您才会删除旧的一个,对吗?正如我所说,您可以在创建/修改表之前执行此操作。

我认为您应该告诉我们“工作不正常”的含义。例如,如果由于Web服务有时不可用而获得500 http响应,则可以在删除行之前检查Web服务的状态,如果它不同于20x,则不执行任何操作

但是如果你不是这个意思,可能你的意思是Web服务是可用的,但是没有返回任何内容,因为“我不知道”。你说你正在使用一个列表。您可以在删除行之前检查列表的长度


从sql方面来说,您不会遇到问题,但如果我没有错的话,只有在新的一个为空时,您才会删除旧的一个,对吗?正如我所说,您可以在创建/修改表之前执行此操作。

您可以在1900行上运行更新,基本上覆盖先前存在的数据。但是,您说的是大约1900行,因此您可能需要检查新数据行的数量是否小于旧数据行,然后删除差异。这样,您就不必创建或销毁整个表。

您可以对1900行运行更新,以基本上覆盖先前存在的数据。但是,您说的是大约1900行,因此您可能需要检查新数据行的数量是否小于旧数据行,然后删除差异。这样您就不必创建或销毁整个表。

我不明白“一旦1900行作为列表准备就绪”如何与“有时外部web服务不工作”匹配。首先,您声明知道何时决定清除旧值,然后声明最终将得到不完整的数据。如果您无法验证从外部web服务提取的数据,您的(否则正确的)备选方案也将同样失败。一个词:事务。没有必要重命名表或任何其他类似的废话。启动事务、删除旧数据、添加新数据并提交事务。这是一个要么全有要么全无的操作。我不明白“一旦1900行作为列表准备就绪”如何与“有时外部web服务不工作”匹配。首先,您声明知道何时决定清除旧值,然后声明最终将得到不完整的数据。如果您无法验证从外部web服务提取的数据,您的(否则正确的)备选方案也将同样失败。一个词:事务。没有必要重命名表或任何其他类似的废话。启动事务、删除旧数据、添加新数据并提交事务。这是一个要么全有要么全无的操作。我不明白“一旦1900行作为列表准备就绪”如何与“有时外部web服务不工作”匹配。首先,您声明知道何时决定清除旧值,然后声明最终将得到不完整的数据。如果您无法验证从外部web服务提取的数据,您的(否则正确的)备选方案也将同样失败。一个词:事务。没有必要重命名表或任何其他类似的废话。启动事务、删除旧数据、添加新数据并提交事务。这是一个全有或全无的操作。