问题标签 [ssis-connection-manager]

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 投票
0 回答
859 浏览

sql-server - 无法在 SSIS 中读取平面文件(但现场作业仍然有效!)

我继承了一堆 SSIS 包。在其中一些包中,有一个连接管理器用于获取平面文件。这些平面文件每天从 FTP 下载并解压缩 - 然后在这些包中使用。这些包是通过 SQL 代理作业执行的,并且该作业当前正在成功。

现在我们有了一个以前没有的附加平面文件,我们希望将其包含在内(我们只是将平面文件中的数据转储到 SQL 服务器表中)。因此,这个新的平面文件将被转储到一个新表中。文件和表与已在使用的文件/表之一的架构完全相同 - 所以我已将所有内容设置为匹配。

问题是,当我手动运行它时,我无法执行其中一个包,因为它说它找不到连接管理器中引用的平面文件。奇怪的是,我在连接管理器中看到了一个硬编码的特定平面文件。这些文件在文件名中包含一个简单的日期戳 - 所以......如果 SQL 作业仍然成功,并假设我正在查看的包与作业执行的版本相同(我已经通过导出验证了这一点实时包/导入 BIDS 并比较)那么包怎么可能引用一个不再存在的旧文件。(部分 sql 作业也删除了旧文件 - 所以包不可能抓取旧文件)。

我注意到的唯一另一件事是包中名为“SearchFileName”的变量——这很有意义,但我在包中看不到它使用的任何地方。应该是吧,就是找不到在哪 也许有一种特定的方法来寻找它?

总而言之——一个计划的作业执行一个包——但是当我在 BIDS 中查看包时,有一个硬编码的引用对包中正在使用的不再存在的文件的引用。我不知道这是如何工作的,我需要知道以便我可以安排另一个包从另一个更新的类似文件中提取。

这是使用硬编码文件名的变量和连接管理器的屏幕截图。

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
730 浏览

sql-server - SSIS连接管理器问题

我在 SSIS 中创建了一个项目,它将从数据库中的表中获取数据,进行数据转换,然后插入 Excel 电子表格。它工作正常,大约一周没有问题,但现在我遇到了连接管理器的问题。当涉及到 excel 电子表格时,我从数据库中得到了很好的数据。我已尝试再次执行该项目,但仍然无法正常工作。我在 SSIS 中创建了一个新的 excel 目标 > 一个新的连接管理器转到文件夹目标并说明我想要调用的文档。excel表的名称下拉列表中没有任何可用的内容,当我选择“新建”时,它只会关闭窗口。我不确定出了什么问题是权限问题吗?我附上了这个截图和我运行应用程序时的错误 在此处输入图像描述

部署应用程序时出错 在此处输入图像描述

0 投票
1 回答
1876 浏览

ssis - 将“连接管理器”中已创建的连接用于 Biml 脚本

我在 SSIS“连接管理器”中有一个源连接。它是自定义连接(不是 oledb 或任何其他标准连接类型)。是否可以在 Biml 脚本中重用它(即调用它)而无需再次编写连接字符串?

我在网上看到了两种方法,但都没有和我一起工作:我做了一个连接Advanturwork数据库的例子,下面是项目的截图和错误消息以及两种方法的代码。

这是项目文件。

项目文件

这是连接管理器 XML 文件 (MyConn.conmgr)。

MyConn.conmgr

现在是 Biml 代码(方式 1):

我得到的错误在这里:

错误信息1

第二个Biml代码(方式2):

错误信息是一样的:

错误信息2

示例中的 PS MyConn 是一个 oledb,但在实际项目中,它是一个自定义连接,已在“连接管理器”中定义,我只需要在 biml 脚本中使用(调用它)即可。

谢谢,齐亚德

0 投票
1 回答
640 浏览

sql-server - SQL 代理检测到 SSIS 包中的连接管理器已被删除

我们一直在努力将一些 SSIS 包部署到 sql server 中的 SSISDB 目录中。在代理帐户中修复了无数问题后,最新的问题是这样的;

将项目部署到 SSISDB (SQL Server 2012) 然后更新现有 SQL 代理作业以使用已部署的 SSIS 包或删除它并创建新的代理作业后,sql 代理正在检测到开发 SQL Server 的连接管理器我从包中删除。当作业以某种权限问题运行但连接管理器在包中不存在时,这会导致失败。我什至检查了连接管理器的 XML 代码,其中没有我删除的那个。

代理连接配置

包连接管理器

当连接管理器在任何地方的包开发文件中不可见时,我无法理解 SQL 代理如何在作业步骤的配置选项卡中检测连接管理器。

在一次又一次地将项目保存在 Visual Studio 中后,我已经删除并重新部署了该项目。

某处是否有一些包含更多连接数据的深层隐藏设置?感觉问题更多在于 SSMS 而不是 SSIS,但在这一点上我迷路了!

0 投票
1 回答
489 浏览

sql - 在通过 sql server 作业执行 ssis 包的运行时将运行 64 位运行时属性更改为 false

我有要从 sql server 代理作业执行的父包和关联的子包,但出现以下错误:*

来源:xxxxx 连接管理器“RedshiftODBC” 描述:发生了 ODBC 错误 -1。结束错误代码:0xC0014009 来源:xxxxxx 测试连接管理器“RedshiftODBC”描述:尝试与数据库服务器建立开放式数据库连接 (ODBC) 连接时出错。结束错误错误:2018-09-13 09:40:02.59 代码:0x0000020F 源:从 RedShift 加载 xxxxxx 加载 xxxxxx 表 [6] 描述:对连接管理器 RedshiftODBC 的 AcquireConnection 方法调用失败,错误代码为 0xC0014009

*。
我已经检查了 sql 作业执行选项上标记的 Run32bitRuntime,但仍然无法解决。

帮助表示赞赏

0 投票
2 回答
1152 浏览

sql-server - 使用 SQL Server 数据库表配置 SSIS 项目参数和变量

我们希望使用 SQL Server 表作为 SSIS 中所有连接管理器值的源。我们更愿意在项目级别执行此操作,因为我们的许多连接已经在项目级别。我们希望能够在项目打开时根据输入值轻松切换我们正在查看的环境。我们需要这样做的原因是,在 dev 中创建项目时,我们使用的连接与将它们部署到 prod 时使用的连接不同,而且我们使用了数百个不同的连接。我们不想切换 SSIS 或 SQL Server 代理或 SSIS 目录中的任何内容。我们希望这些在 SQL Server 表中得到严格维护。

  1. 我们如何将这些值从 SQL Server 表馈送到提供值或参数的变量中?重申一下,最终产品将在 SQL Server 中有 1 个包含所有列(如[ConnectionString][InitialCatalog][UserName][UserName][Password]等)的单个表[HeaderRowsToSkip]。我们将参数化所有连接管理器,这些连接管理器的值将从该表中提供。我们需要指导如何做到这一点。

  2. 我希望能够在同一个表中同时包含 PROD 和 DEV,其[Environment]列的值为“Dev”或“Prod”,如果可能,我们希望在 SSIS 中打开项目时打开提示询问[Environment]我们想要哪个(可填写的提示),然后根据我们输入的内容过滤 SQL 表中的结果以使用 Dev 或 Prod。

如果 2) 不可能,我们将只使用单独的表,这些表可以根据我们开发或部署的时间在连接管理器中手动切换。

0 投票
0 回答
128 浏览

c# - 如何获取使用自定义连接管理器定义的 SSIS 连接

我正在尝试使用 ManagedDTS dll(和其他)从代码中编辑 SSIS 包,我需要访问包中定义的连接之一,以便重新映射源组件之一中的列。问题是此连接是使用自定义连接管理器创建的,因此在加载包时无法识别。代码应该是这样的:

customConnection 是我正在寻找的连接。

我可以使用这种类型的连接创建一个新包,但是一旦保存并重新加载包,我就无法访问它。自定义连接管理器在 GAC 中,可以在 VS SSDT 中正常使用。当我添加一个新包时,连接“customConnectionManager”按预期工作。

有没有办法访问使用自定义连接管理器创建的 SSIS 包中的连接?

提前致谢!

0 投票
1 回答
2252 浏览

c# - 如何从 ssis 包脚本中的 dts 配置文件获取 sql 连接

在我们普通的 c# 中,这是从中获取连接字符串的方式app.config

但是如何使用 dts 配置文件在 vsts 脚本中实现相同的效果。

0 投票
1 回答
199 浏览

ssis - SSIS - 在 ConnectionManagers 之间进行更改,而无需通过所有组件来更改其引用

我使用了名为 HSV 的 DataSource,然后决定切换到同名的 OLE DB 连接。

我在 ConnectionManagers 部分中在两者之间切换。

但是现在所有曾经引用 HSV 连接的组件都有一个错误图标,并且在它们的连接属性中现在有一个奇怪的类似 Hash 的名称,我需要单击它并选择要修复的更新连接。

在数据流任务中,我需要再次选择要使用的表/命令变量/重写脚本...

有没有办法可以更快地切换?

0 投票
0 回答
29 浏览

ssis - 如何通过 ssis 目录执行平面文件源

我有一个 2008 年设计的 ssis 包,我已将其升级到 2017 年,具有平面文件源。

我想通过 ssis 目录 (SSMS) 执行。

如何在 ssis 目录中添加文件名?