我有一个包,用于将 CSV 文件中的记录加载到表中。它在控制流中有三个元素:
- 截断表
- 将文件加载到表中
- 验证加载后表上是否有记录或引发错误
这个想法是在包上有一个事务,因此如果元素加载失败或文件为空,则事务将回滚并且表不会被截断。
要启用事务,我只需转到包属性并设置TransactionOption=Required,然后我只是尝试执行包并在尝试执行第一个元素时收到此错误(尝试截断表的 SQL 任务):
[执行 SQL 任务] 错误:无法获取连接“数据库连接”。连接可能未正确配置,或者您可能对此连接没有正确的权限。
如果我只是返回并将包的 TransactionOption 属性更改为默认值(支持),那么包将正确执行,但如果出现错误,则不会回滚。
我正在使用 ADO.NET 连接到 SQL Server DB。
知道我在做什么错吗?这是使用交易的正确方法还是我错过了什么?
谢谢!