问题标签 [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 回答
248 浏览

variables - 如何将多行结果映射到 SSIS 执行 SQL 任务中的不同变量?

我需要在同一个 SSIS 包中使用不同变量映射 1 列 frmm 多个 SQL 查询结果行。

例如,我的查询的输出是:

我希望将 Count 的值分配给我的包中的 5 个不同的变量。

我遇到了一个对象的多个结果集,然后使用 ForEach 循环容器从中读取。但是,它将不同的结果存储在同一个变量中。我想将这些变量用作数据流任务中多行采样转换的数字,因此我需要它们作为单独的变量。有没有办法解决这个问题并在 SSIS 中获得上述结果?

0 投票
0 回答
486 浏览

visual-studio - SSIS 错误 - 由于 80040153、注册表值无效,从 SQL 任务中解析查询失败

问题陈述

我在本地有很多 SQL Server 环境。

尝试使用非常基本truncate table dbo.table的语法解析 SQL 任务时,我收到以下错误消息。

我应该注意,当我执行任务时它工作正常,尽管在解析时抛出错误。

我的理解是,它与“Microsoft SQL Server/1XX/DTS/Binn/”中损坏的 .ddl 文件有关 - 无法确定是哪个 SQL Server 版本的组件是原因。

有没有办法确定损坏的 .dll 并解决这个问题?

错误信息

我试过的

在 Visual Studio 2017/2019 上测试

找出什么 Com 对象是问题

因为该消息只给了我 CLSID,所以我无法找到它所引用的实际 com 对象。

我已经运行reg query HKCR\CLSID /s /f "{<CLSID>}" This 确认它不存在,但这没有帮助。

环境

  • Microsoft Visual Studio Enterprise 2019 版本 16.4.1 VisualStudio.16.Release/16.4.1+29609.76 Microsoft .NET Framework 版本 4.8.03752已安装版本:企业版
  • SQL Server 数据工具 16.0.61912.09160 Microsoft SQL Server 数据工具

  • SQL Server 集成服务 15.0.1900.80 Microsoft SQL Server
    集成服务设计器版本 15.0.1900.80

  • SsmsVsIntegration 1.0 Visual Studio 容器工具扩展(预览版) 1.0 在 Visual Studio
    中查看、管理和诊断容器。
0 投票
1 回答
262 浏览

filemaker - 在虚拟列表 Filemaker 中组合来自多个源的行

我正在尝试使用虚拟列表作为数据源在 Filemaker 中制作类似 Excel 的“数据透视表”。问题是我希望能够在第一列中包含未修复的“类别”。字段名称不起作用。

我目前的想法是有一个包含布局名称和类别字段的表,我将通过 ExecuteSQL(或其他函数)将其与其余数据结合起来。

我可以让它与两个 ExecuteSQL 语句一起工作,一个用于类别,一个用于“大量”数据,使用 eSQL 类别中的 WHERE 文本,然后我将它们组合成一个,然后我就设置好了。

我的问题是我希望能够使用get(LayoutName)函数获取类别,从而使脚本更加灵活。每当我get(LayoutName)在 SQL 的 WHERE 行中使用 ? 为结果。我还尝试使用 get(LayoutName) 将布局名称放在字段中,然后像在 WHERE 语句中一样使用该字段,但这也会返回错误。

我承认我在这方面有点新手,所以问题可能出在键盘和椅子之间,有一个简单的语法错误。我尝试了很多不同的方式,包括引号、不引号、单引号等。

这是我用来提取类别的内容...

替换(ExecuteSQL(“SELECT Category_List FROM Categories_VL WHERE Layout_Name = Get(LayoutName)”;“”;“”);“,”;$$delim)

所有字段名称都是正确的,如果我将 LayoutName 更改为与我想要的 Layout_Name 字段匹配的文本,它就可以正常工作。

如果我太罗嗦了,我深表歉意,但我认为更多信息比回答一堆问题要好,因为我忘记了一些东西!

蒂亚!

0 投票
2 回答
3045 浏览

parameters - 带有 SQL 查询的 Azure 数据工厂集参数

Execute SQL TaskADF中 SSIS 的替代方案是什么?

我创建了一个名为的管道参数ExtractDate(我知道没有日期数据类型选项,所以我在这里使用字符串数据类型),我想用 SQL 查询的结果填充它,然后将其传递给其他管道。

我可能正在搜索错误的术语,但似乎没有很多关于如何在其中编写 SQL 查询dynamic content以填充参数的教程。

任何例子将不胜感激

0 投票
1 回答
355 浏览

ssis - 使用 WHERE 子句“IN”关键字创建 SSIS-SQL 任务 Oracle SQL 语句

我真的希望我能得到一些意见。我正在尝试使用 WHERE 子句中带有“IN”的 SQL 语句创建一个 SSIS 包(例如: SELECT * FROM Oracle.Table1 WHERE Col1 IN (?) )。基本上,一个带有来自 SQL Server 表的值的 Oracle SQL 语句。我已经搜索过,找不到任何东西。任何建议将不胜感激:

  1. 我可以在对象变量中使用带有值的“IN”关键字吗?
  2. 我见过使用“ForEach”组件的方法。这不会为每个值创建一个 SELECT 语句吗?可能有数千条记录。

我尝试了以下方法:

  1. 使用带有语句的 SQL 命令:SELECT * FROM Oracle.Table1 WHERE Col1 IN (?) - where ? 是一个对象变量(来自 SQL Server 语句的结果集 1 col)当我尝试选择“参数”时,我收到一条错误消息。

  2. 使用变量中的 SQL 命令和变量中的表达式:"SELECT * FROM Oracle.Table1 WHERE Col1 IN (" + @[User::Obj_values] + ")"

仅供参考:我只有 Oracle DB 的读取权限 :(

0 投票
1 回答
300 浏览

azure - 使用 JWT 令牌连接字符串问题的 Active Directory 身份验证

我正在尝试运行 SQL 脚本,通过指定带有令牌Azure SQL Database的连接字符串来创建使用任务 Azure SQL 数据库部署的用户角色。JWT

从 Microsoft 文档中,我尝试了 DevOps 任务中的语法,但它抛出了错误。

错误

现在我需要为不在 admin 组中的其他用户提供访问权限,因此尝试添加包含的用户,我通过运行 create user query 实现了这一点。

但我需要自动化它,所以为了自动化,SQL 部署任务下有 4 个选项,它们是 1.sql 密码身份验证 2.活动目录集成 3.活动目录密码 4.连接字符串

我想要实现的是通过为服务主体生成 JWT 令牌来通过连接字符串。

但由于某种原因,它的失败可以帮助我在 Azure DevOps Pipeline 的 SQL 部署任务中提供带有 JWT TOKEN TO RUN 的连接字符串的确切语法。

0 投票
1 回答
806 浏览

variables - 执行 SQL 任务错误:执行查询失败,出现以下错误:“'' 附近的语法不正确。”

我正在开发一个拒绝已加载文件并仅将新文件加载到表中的 SSIS 包。我用于每个循环并执行 SSQL 来验证文件是否已加载。当我评估 Execute SQL Task 的表达式时,它的评估结果很好。但是当我运行包时,我收到以下错误。

[执行 SQL 任务] 错误:执行查询“DECLARE @FileName VARCHAR(100) SET @FileName=Custo...”失败,出现以下错误:“'' 附近的语法不正确。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。

我在执行 SQL 任务中使用的表达式是:

"DECLARE @FileName VARCHAR(100) SET @FileName="+@[User::FileName]+"' IF EXISTS (SELECT 1 FROM [dbo].[FileLoadStatus] WHERE filename =@FileName) BEGIN SELECT 1 AS FileExistsFlg END ELSE BEGIN 选择 0 作为 FileExistsFlg END"

执行 SQL 任务的屏幕截图

如果你能说出问题出在哪里,我真的很感激?

0 投票
1 回答
148 浏览

ssis - SSIS 执行 SQL 任务 - 多个源顺序而不是并行

我有一个带有执行 SQL 任务的大型 SSIS 包,它从 14 个不同的源读取数据,通过 Union All 运行它们,然后通过所有相同的转换。问题是,同时运行 14 个大型 SELECT 会阻塞服务器。我宁愿他们按顺序运行。但是由于它们都必须经过相同的转换集,我真的不想将它们分成单独的任务。

有没有办法将包配置为一次执行一个(甚至一次两个)而不是一次执行 OLE DB 源?

0 投票
0 回答
394 浏览

mysql - SSIS 错误:断开连接的记录集不能从 ODBC 连接获得

我 在 SSIS 包中有一个EXECUTE SQL TASK ,

任务类型:执行 SQL 任务 数据源类型: ODBC for MySql (DSN)

错误 :

[执行 SQL 任务] 错误:执行查询“select * from nasb_dev.v_borrower_address”失败,出现以下错误:“断开的记录集不能从 ODBC 连接获得。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。

它适用于 OLEDB..

有什么建议吗?

0 投票
1 回答
144 浏览

sql-server - 尝试通过 SSIS 中的“执行 SQL 任务”执行存储过程时出错

我创建了一个存储过程。在尝试通过 SSIS 执行它时,我遇到了问题。

我的存储过程的定义如下所示:

我有能力运行这是 SSMS,它工作正常。但是,当我尝试在 SSIS 的执行 SQL 任务中运行它时,它不起作用,并且出现此错误:

错误:0xC002F210 at EXEC at Execute SQL task name。执行 SQL 任务:执行查询EXEC DBO.procedurename ?, ?, ?... ”失败,出现以下错误:多个 OLE DB 操作生成错误。检查每个 OLE DB 状态值...

我的 SSIS 脚本如下。