postgresql - 删除时出错并且表没有数据
问题描述
嗨,我对 ssis 有一个疑问
我想使用 ssis 包删除目标服务器(postgres)表数据中的数据。
- 数据库:postgres 服务器
- 表:emp
- 在执行 sql 任务中,脚本是:
delete from emp
并且连接使用了 odbc
当我在 ssis 包中运行 executesql 任务时,如果 emp 表有数据,那么它工作正常,并且当 emp 表没有数据时出现错误。
[执行 SQL 任务] 错误:执行查询“delete from emp usin...”失败,出现以下错误:“调用 COM 组件返回了错误 HRESULT E_FAIL。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。
假设如果我在 pgadmin 工具中运行相同的查询,即使 emp 表没有数据,它也没有收到任何错误。
你能告诉我如何在 ssis 包中避免这个问题吗
解决方案
在执行 SQL 任务组件中,您应该在事务块中键入您的删除脚本,如下所示;
BEGIN;
DELETE FROM yourtable;
COMMIT;