DataSet.GetChanges - 将更新的记录保存在与源表不同的表中
我正在对包含来自名为 Test_1 的 SQL 表的数据的数据集进行操作,然后使用 DataSet.GetChanges(DataRowState.Modified) 函数获取更新的记录。然后,我尝试使用以下语句将包含更新记录的数据集保存在与源表不同的表上(该表名称为 Test 并且具有与 Test_1 相同的结构): sqlDataAdapter.Update(changesDataSet,"测试");
我收到以下错误:更新无法找到 TableMapping['Test'] 或 DataTable 'Test'
我是 ado.net 的新手,甚至不知道它是否可能。欢迎任何建议。
只是提供一些上下文。ETL 作业正在将数据导入到临时表中,其结构与原始表相同,但带有 _jobid 后缀,然后规则引擎在更新原始表之前进行验证。
I'm doing operation on a dataset containing data from a sql table named Test_1 and then get the updated records using the DataSet.GetChanges(DataRowState.Modified) function. Then i try to save the dataset containing the updated records on a different table than the source one (the table is names Test and has the same structure as Test_1) using the following statement:
sqlDataAdapter.Update(changesDataSet,"Test");
I'm getting the following error : Update unable to find TableMapping['Test'] or DataTable 'Test'
I'm new to ado.net and don't even know if it"s something possible. Any advice is welcome.
Just to provide a bit of context. ETL jobs are importing data in temp table with same structure as the original but with _jobid suffix. Right after a rule engine is doing validation before updating the original table.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不在表上创建一个 更新触发器会插入到另一个表中吗?
why don't you create an update trigger on the table instead that will insert into the other table?
如果 test 和 test_1 包含完全相等,则此方法有效:
规则引擎使用 test_1 后每次都是空的吗?
test_1 和 test 中的行是否完全准确?
如果您回答我的问题,我希望我可以提供进一步的帮助。
if test and test_1 contain are totally equal, this works:
Is test_1 everytime empty after the rule engine worked with it?
Do test_1 and test have the totally exact rows in them?
I hope i can provide further help if you answear my questions.