问题标签 [execute-sql-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
217 浏览

ssis - 从执行 sql 任务中提取结果集并将其存储在 excel 文件中?

我有一个执行 SQL 任务,需要两个输入变量和一个输出变量才能运行。SP 返回一个我存储在 ResultSet 参数中的表。我想将此 ResultSet 参数中的值存储在 excel 文件中。从我的互联网研究(类似​​的 SO 问题Export data from SQL Server to Excel)中,我发现了一些他们创建 ADO.NET 源的文章。在其中运行一个简单的选择查询并使用 excel 目的地。在我的情况下,SP 的参数必须作为变量传递。因此,我不能使用硬编码的 SQL 查询。谁能指出我当前的方向?我对 SSIS 的了解非常有限,无法进行良好的谷歌搜索。

0 投票
1 回答
60 浏览

sql - 当列名不固定时,仅从 exec (SQL) 中插入几列

我有以下代码:

输出是:

输出是

我知道 EXEC(SQL) 会给我 12 列,所以我创建了带有 12 列的临时表 #Tbl_Eval_Temp。如果列数和列名也在运行时生成怎么办。可能只有 5 或 15 列。那么,我怎样才能实现如图所示的所需输出?

0 投票
1 回答
32 浏览

ssis - SSIS执行sql语句多步骤

在我的 SSIS 包中,我有一个带有 2 条语句的执行 SQL 任务:

声明1:

从 AAA 中选择 coalesce ( max (id), 0)+1 作为 ID

声明2:

插入 BBB (id) 值 (?)

在第一个语句中,我将结果保存到一个变量ID中,在第二个语句中,我使用这个变量ID插入到 BBB id 列中。假设第一个语句的结果应该是 4,但是,在我查询表 BBB 后,我发现插入到 BBB 中的是 0。

我在这里错过了什么吗?

0 投票
0 回答
45 浏览

tsql - 在 Visual Studio 中使用 TSQL 命令执行 SSIS 包

我正在尝试使用 Execute SQL 任务使用 TSQL 命令(作为异步执行测试的一部分)执行 SSIS 包,但我收到与服务器身份验证和未建立连接相关的错误。

错误:执行 SQL 任务时出现 0xC002F210,执行 SQL 任务:执行查询“Declare @execution_id bigint EXEC [SSISDB].[catalo...”失败,出现以下错误:“操作无法由使用 SQL Server 的帐户启动身份验证。使用使用集成身份验证的帐户开始操作。"。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。 我在 Execute SQL task with connection made to db 中使用的 TSQL 命令是通过使用 sql server 身份验证创建 OLEDB 连接:

  1. EXEC [SSISDB].[catalog].[create_execution] 以及包详细信息
  2. EXEC [SSISDB].[catalog].[set_execution_parameter_value] 我在哪里设置包参数
  3. EXEC [SSISDB].[catalog].[start_execution] @execution_id 开始执行包

发生这种情况是因为我试图在本地调用 SSISDB 目录存储过程,即。来自外部 SSMS ?我还检查了 SSISDB 上的用户角色,它可以访问它。从 SSMS 执行时,TSQL 命令可以正常工作。任何线索将不胜感激。提前致谢。

更新(找到解决方案):2021-09-27

我通过其他来源找到了解决方案。我只是从用于 db 连接的 sql server 身份验证更改为 windows 身份验证,并将包部署到 SSISDB 并在那里进行测试。它工作得很好。在本地,我无法使用 Windows 身份验证进行测试,因为我的 Windows 帐户没有足够的权限访问数据库服务器。

0 投票
1 回答
63 浏览

sql-server - SSIS在执行sql任务中返回提交的总行数

我有一个Executed SQL TaskSQL 查询来从表中删除数据。我正在使用while循环批量删除数据并尝试/捕获来处理失败。

Execute SQL Task我想返回已删除的记录时,我添加了捕获已删除记录的输出参数。但我遇到的问题是,如果失败,我无法捕获/返回已删除的记录(已提交)。

我正在使用以下 SQL 逻辑

知道如何将已删除或提交的行返回到输出参数Execute SQL Task吗?

0 投票
0 回答
18 浏览

c# - 比较第 3 列的值后如何在 excel 中添加新行。当第 3 列值更改时,它应该在 excel 行中添加新行

在这段代码中,我得到了新的 excel 文件,但没有必需的输出。它会在所需位置生成不同的行。excel数据中是否存在格式问题。

0 投票
2 回答
101 浏览

sql - 使用输出参数时执行 SQL 任务出错

我想从 SQL Server 表中检索最新日期。

在“执行 SQL 任务”中,我有以下 SQL 语句:

在参数映射部分下,我添加了 1 个输出参数:

  • 变量名:(User:var_testdt注意:这是日期时间类型)
  • 方向:输出
  • 日期类型:日期
  • 参数名称:0
  • 参数大小:-1

ResultSet“执行 SQL”任务的属性设置为无。

执行包时出现此错误:

...失败并出现以下错误:
错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。
可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。

0 投票
1 回答
27 浏览

sql-server - 在 SSIS 中使用 ODBC 删除失败

我将针对我的默认本地 SQL Server 实例的执行 SQL 任务从 OLE DB 更改为 ODBC。SQL是

ODBC 版本在表有记录时工作正常,但在表为空时失败。

我考虑过使用另一个 SQL 任务的结果集来填充一个变量,但这不起作用。阅读这篇 SO 文章Delete statement failed when called from SSIS确定了问题的根源(ODBC 版本),但它仍然没有提供答案。其他网络文章建议没有解决方法。

是否有任何其他方法或方法仅在表不为空时有条件地调用删除?

0 投票
1 回答
54 浏览

sql-server - 在 SSIS Foreach 循环容器中提取文件名和更新表

我有一个 SSIS 包,它有这个 Foreach 循环容器(带有文件枚举器),它从一个包含多个 CSV 文件的文件夹中读取,然后将数据上传到一个平面表中。

这工作正常,但我的问题是尝试提取文件的文件名,然后在插入一行后填充平面表中的最后一列。

我还在数据流任务(在 ForEach 循环容器内)之后添加了一个执行 SQL 任务,希望它会在循环转到下一个文件之前立即执行,但不幸的是这不是行为。

执行 SQL 任务只有在读取所有文件中的所有数据才会执行。有没有办法逐行更新这个文件名,比如从CSV文件中读取一行,将这一行插入到表中,更新同一个表中filename列中的行,然后读取下一行?以这种方式继续,直到 CSV 被完全读取,然后移动到下一个 CSV 文件并执行相同的操作。

我有编程背景,稍微觉得嵌套 for 循环可能是一种方法,但不确定如何在 SSIS 中实现这一点。我的 ForEach 循环容器的设置如下所示:

控制流程

数据流

0 投票
1 回答
25 浏览

c# - SSIS中的文件计数器表达式使用执行流程任务输出变量

我在 c# 中有一个控制台应用程序,可以从网站下载文件。我创建了一个变量Filecount,用于计算在该实例中下载的文件数。

在 SSIS 中,我在执行过程任务配置中设置了 StandardOutputVariable,因为User::FileCount它应该通过它已下载的文件数。

我想创建一个 SQL 任务,如果文件计数大于0.

但是,当我尝试评估我的表达式时,它总是返回为真,但是,这不应该发生,因为没有通过任何计数,但这意味着它应该被评估为假。

有人可以解释我是否写错了表达式或错误地设置了变量?

SSIS 执行进程任务;

SQL 任务表达式;