【发布时间】:2015-02-21 16:39:26
【问题描述】:
我有一个 ASP.NET 网站,它将引用许多影响 SQL 数据库的 SSIS 包。
这些包中的第一个将清除表中与 ASP NET 会话变量“ID”匹配的所有行。
该站点似乎是从同一个 SQL 数据库中提取的,好吧,它似乎只是 SSIS 包有问题。
当我选择使用以下语法加载包时,我收到以下错误:
Package deletePkg = app.LoadPackage(deletePackageLocation, null);
值不在预期范围内
我已经四次检查文件路径是否正确。
此特定包的连接管理器在测试连接时似乎很开心,并且使用了网站中其他多次使用的相同配置。尽管在 SSIS 开发环境中工作,但无论出于何种原因,文本和 SQL 日志记录似乎都不起作用。 (ID = ?)
在查看了许多其他讨论之后,很明显这是一个非常模糊的错误消息,可以引用任意数量的问题。我没有找到适合我情况的解决方案。
【问题讨论】:
-
尝试在包出错时运行分析器跟踪,以查看正在从包传递到数据库的查询。
-
您是否为 SSIS ExecuteSQL 任务中的参数选择了正确的数据类型?
-
我的下一个猜测是数据中的 null 值,或者 prod en dev 数据库之间列类型的差异(null/notnull/length)。
-
能否将日志记录添加到包中并报告 OnError 和 OnWarning 事件?了解包中的哪个组件返回此错误会很有帮助。
-
是的,我想知道 SSIS 服务帐户是否没有包的权限。包是服务器本地的还是存储在文件共享中的?您可以调试您的应用程序并成功执行包,并且仅在服务器上运行它时才会出现此错误,这似乎指向权限问题。或者 deletePackageLocation 变量的值存在某些东西,即指向服务器上没有包的位置。但你说你已经检查过了。
标签: c# sql asp.net webforms ssis