0

我从 Adob​​e AIR 应用程序运行 SSIS 包时遇到问题。我不太确定问题出在哪里,所以我希望这对于在正确领域有知识的人来说是显而易见的!

首先介绍一下我的架构(如果你可以这样称呼的话)。
我有一个 Adob​​e AIR 应用程序。此应用程序使用经典的 asp 页面来建立与 sqlserver 数据库的连接。然后它将字符串传递给数据库。任何响应都通过 ASP 页面返回到 Air 应用程序,该页面将数据包装为 xml 消息。这适用于我在过去一年左右不得不抛出的大多数事情,例如选择、插入、存储过程的执行等。

我现在希望用户能够执行 SSIS 包。我处理这个的方式是有一个存储的过程 'RunPopulateRPTSchema'。然后通过单击 Air Web 应用程序上的按钮来运行它。在过程中是对运行包的 SQL 代理的调用: EXEC msdb..sp_start_job N'PBMIPopulateRPTSchema'

我有一些处理来确保 proc 正在运行,并循环直到它完成,并且在完成时可以选择插入了多少行。这是应该返回给用户以定义成功的内容。我的问题是该消息没有返回到 ASP/AIR 并最终超时。

我在 Sql Server Profiler 中进行了跟踪...它告诉我 IIS 中止了进程,我认为这就是我没有得到响应的原因。我不确定是否应该设置一些东西来允许这个!

如果我通过 Sql Management Studio 运行它,使用相同的 ID 一切正常 - 不会中止。这似乎有点奇怪,但有什么想法吗?我认为这是 IIS 上的超时问题,但我不能确定,我不确定在哪里重置它。

另外一点信息 - 包通过 SSIS 完成并且数据得到更新,但我没有在我的应用程序中获得该信息

干杯

安德鲁

4

1 回答 1

0

排序 -

在我的 asp 脚本中,我需要设置 CommandTimeout 和 ScriptTimeout - 我只设置 Server.ScriptTimeout。显然 CommandTimeout 默认为 30 秒。

conn.Open connString
conn.CommandTimeout = n seconds
Server.ScriptTimeout= n seconds

我仍然非常渴望使这个过程变得更好,所以我渴望听到任何改进。

于 2013-09-17T10:54:15.183 回答