问题标签 [ssis-2016]
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.
ssis - SQL0206 使用 SSIS 插入 DB2 表时未找到列或全局变量 P1
使用 SSIS 2016 数据流并使用最新的 IBM.Data.DB2.iSeries .net 连接器插入 DB2 表。我能够预览数据,SSIS 从 DB2 表中抓取列并知道类型。
表是使用以下方法创建的:
我可以预览表格中的数据(我手动添加了一些记录)
我的数据流很简单,脚本源输出 1 行和 1 个 INT 列
我不知道如何从这里继续前进,我已经尝试了我能想到的一切。很高兴包含任何其他信息。我觉得有一个简单的解决方法,我只需要一个关于其他东西的建议,请随便看看。
当我使用以下代码从脚本任务运行插入时,它确实有效:
另请注意,同样的连接适用于从该表中选择数据。
sql-server - 如何更新 activeX 脚本任务
我们正在将一些包从 sql server 2008 迁移到 2016。但是 ActiveX 脚本任务没有正确加载。我对这个工具很陌生。我想知道如何更新这种任务。
提前致谢
sql-server - 在 SSIS 流中捕获截断
我一直在使用 SSIS 2016 创建一些数据流。我的目标之一是能够捕获任何截断问题并填充错误表,突出显示截断发生的位置。部分原因是我们导入了 JSON 数据,并且某些字段可能包含比我们已经在数据库中设置的数据更长的数据。
只是给你一些背景知识,我们的简化流程是:
- 将 JSON 批量插入表中
- 在顶部创建登陆视图,将 JSON 路径提取到视图结构中
- 创建将视图数据流入生产表的数据流
- 突出显示从登陆到生产之间发生的任何截断
由于 SQL Server 处理 JSON 的方式,字段的长度为 MAX,在创建视图时,我们在 CROSS APPLY 中设置字段长度,例如,我们在生产表中将 RECIPIENT_NAME 设置为 VARCHAR(10),但是如果 RECIPIENT_NAME如果在 JSON 文件中有一行长度为 15,则在创建此视图时,我们不知道 15 被截断为 10。为了解决这个问题,我们在着陆视图中将 RECIPIENT_NAME 长度设置为 11应用,当行从着陆移动到生产 RECIPIENT_NAME 从 11 变为 10 时,如果此时确实有任何截断,SSIS 会突出显示它,我可以沿着红色错误路径捕获该行。
在 SSIS 中,我有一个指向着陆视图的 OLEDB Source 和一个指向生产表的 OLEDB Destination。我还有一个错误从源流出到一个错误表中,其中每一列都设置为在截断时重定向行。
此时 SSIS 警告我在验证目标任务时可能会发生截断,目标任务上有一个黄色三角形:
[PRD_SYSTEM [189]] 警告:由于从长度为 11 的数据流列“RECIPIENT_NAME”插入长度为 10 的数据库列“RECIPIENT_NAME”中的数据,可能会发生截断。
在使用一些示例数据进行测试时,我特意在 RECIPIENT_NAME 的 JSON 字段中放置了一行包含 20 个字符的行。这不会被标记为截断问题并继续填充生产表,尽管已截断。
但是,如果我右键单击源 > 显示高级编辑器 > 输入和输出属性 > OLEDB 源输出并展开输出列并将 RECIPIENT_NAME 列(最初为 11)的数据类型属性下的“长度”修改为它应该在生产表,a 10 然后重新运行该过程,该行确实被重定向到错误表!
有趣的是,警告发生了变化,源任务上出现了一个黄色三角形:
[LND_VW_SYSTEM [81]] 警告:由于从长度为 11 的数据库列“RECIPIENT_NAME”到长度为 10 的数据流列“RECIPIENT_NAME”检索数据,可能会发生截断。
现在我的理解是,SSIS 应该在我设置它时捕获截断,而不必在高级编辑器中编辑单个列 - 这是考虑到我所描述的预期行为还是我错过了什么?
sql-server - SSIS 脚本组件在部署时不起作用。抱怨 ComponentVersionMismatchError
具有在 SSDT (Visual Studio 2017) 上运行良好的脚本组件的包在部署到 SQL Server 2016 时不会运行。它会引发 ComponentVersionMismatchException。
因此,其他软件包工作正常。这个有一个带有脚本组件目标的数据流。当我第一次开始开发项目时,我没有将目标从 SQL 2017 调整到 SQL 2016。我开发了所有东西并让它从 SSDT 运行。我正在使用 .ispac 文件进行部署。部署时,它会抛出 ComponentVersionMismatchException。这是我试图让脚本组件运行的内容:
- 将目标更改为 SQL 2016。失败。
- 做一个小改动并确保重新编译脚本。失败的
- 确保选择 Visual C# 2015。失败的。
- 制作一个包的副本,并删除脚本组件。这成功了。
- 在副本中,只需添加一个新的空脚本组件作为目标。又失败了。
- 删除数据流任务并使用空脚本组件重建。失败的。
- 完全从头开始创建一个包,并使用相同的源和空脚本组件重新创建数据流。失败的。
- 我尝试完全创建一个新项目,将目标设置为 SQL 2016,并创建了一个类似的数据流,只是将表作为源,将空脚本组件作为目标。还是失败了。
我希望一个针对 SQL 2016 的全新项目,其脚本组件不执行任何操作,应该能够在服务器上执行。在这一点上,我很迷茫。
sql-server - SSIS 无法获取连接。连接可能未正确配置,或者您可能对此连接没有正确的权限
我正在使用 MS SQL Server 2016。我有一个 SSIS 包,其中包含一个执行 SQL 任务。我可以用 Visual Studio 很好地执行它。当我部署到 SSIS 目录时,我收到以下错误:
执行 SQL 任务:错误:获取连接失败。连接可能未正确配置,或者您可能对此连接没有正确的权限
同样,如果我尝试通过 SQL 代理作业执行,我会收到以下信息:
说明:登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。来源:.Net SqlClient 数据提供程序开始时间:15:02:11 完成时间:15:02:12 经过时间:0.125 秒。包执行失败。步骤失败。
我错过了什么?任何帮助将不胜感激。
SQL 服务器中的连接管理器使用的是 ADO.net,而不是 OLEDB
sql-server - 服务器实例、数据库和模式的 SSIS 操作配置?
为了能够对在 SSIS 中开发的数据集成流程进行操作管理,我希望能够在外部配置:
- 服务器(数据源)
- 数据库(目录)
- 图式
据我所见,所有这些通常都通过连接管理器和 SQL 语句硬编码到 SSIS 包中。这种硬编码限制了 DBA 能够以不同的方式分配资源,并且如果发生更改,如果正在使用包部署,则需要修改每个包。
看来项目部署会在一定程度上减少这种情况,但不会消除它。
目标环境是 SQL Server 2016 和 VS 2017。
服务器、数据库和模式如何从包中外部化?
sql-server - SSIS 查找转换使用表或查询
我在一个有 30 列的表上有一个查找转换,但我只使用两列:连接的 ID 列和作为输出的更新列。
在连接上,我应该Select ID, Update From T1
在下拉列表中输入查询还是使用表格?
在下拉列表中使用表会像这样做Select * From T1
,或者 SSIS 足够聪明,知道我只需要 2 列。
我想我应该使用 Query Select ID, Update From T1
。
sql-server - SSIS 日志提供程序不适用于 SQL Server 用户
我创建了一个 SIS 日志提供程序来从 SSIS 包中的脚本任务写入日志条目。只要我使用 Windows 身份验证,连接就可以正常工作,但是如果我切换到 SQL Server 身份验证并提供用户名和密码,则不会写入日志条目。我在包中使用相同的连接来执行 SQL 任务以毫无问题地从 SSIS 日志中读取。SQL Server 用户对 SSIS 日志具有读取和写入权限。
我必须使用 SQL Server 身份验证,因为运行 SSIS 作业和包的 Windows 用户无权访问 SSIS 日志,并且无法更改。我正在使用 VS SSDT 2017 并将包部署到 SQL Server 2016。
我尝试将用户名和密码存储在包中,并通过包参数和环境提供连接字符串和密码。一旦我从 Windows 身份验证切换到 SQL Server 身份验证,就没有效果。
上面的代码应该在 SSIS 日志中写入一个条目,但仅适用于 Windows 身份验证。
编辑:
SSIS 日志提供程序类型是SQL Server的 SSIS 日志提供程序。
连接管理器类型是 OLEDB,提供程序类型是Native OLE DB/SQL Server Native Client 11.0。
连接被参数化为连接字符串和密码。
jenkins - Jenkins Bitbucket SSDT 持续集成 DevOps 流程
CICD 进程与 Jenkins、Bitbucket、SSDT(SQL Server 数据工具)。
请列出执行 CICD 流程的步骤。
包括我需要在 Jenkins 中为 SSDT(SSIS-ISPAC 文件)或 SQL 数据库解决方案(DAPAC 文件)安装哪些插件
sql-server - 查询2016年SSISDB中的SSIS配置
我需要查询SSISDB查看每个包的配置信息。我可以轻松查看包名称及其文件夹,但无法查询其背后的 XML,更重要的是无法查询配置信息。
有没有人查询过这个信息?它是在数据库中还是隐藏在某个配置文件中?