我有点新SSIS的节目,和我有一些问题,部署SSIS包。
该软件包正常运行我的电脑上,确实需要做的一切......但是当我部署它无法找到连接字符串。
以下是错误:
代码:0xC001000E源:说明:连接 “{DA7CD38D-F6AA-4B06-8014-58BEE5684364}” 未找到。 此错误是由Connections集合时抛出找不到特定的连接元素。 结束错误
错误:2012-08-09 00:21:06.25代码:0xC001000E来源:包装说明:连接 “{DA7CD38D-F6AA-4B06-8014-58BEE5684364}” 未找到。 此错误是由Connections集合时抛出找不到特定的连接元素。 结束错误
错误:2012-08-09 00:21:06.25代码:0xC001000E来源:包装说明:连接 “{DA7CD38D-F6AA-4B06-8014-58BEE5684364}” 未找到。 此错误是由Connections集合时抛出找不到特定的连接元素。 结束错误
错误:2012-08-09 00:21:06.25代码:0xC00291EB来源:执行SQL任务执行SQL任务描述:连接管理器 “{DA7CD38D-F6AA-4B06-8014-58BEE5684364}” 不存在。 结束错误
错误:2012-08-09 00:21:06.25代码:0xC0024107来源:执行SQL任务描述:有任务验证期间错误。 端错误DTEXEC:包执行返回DTSER_FAILURE(1)。 入门:0点21分04秒完成:○点21分06秒已用:1.888秒。 包执行失败。 该步骤失败。
Answer 1:
看来你的SSIS包指向可能已经被其它一些连接deleted
或renamed
。尝试打开SSIS compoenents并指向正确的连接都有哪些,还有你的连接管理器。
它发生的时候,我们复制SSIS包组件来创建一个新的包,或者因为重命名连接或有可能仍然被使用在你的XML配置文件中定义的旧连接(在你的情况下,尝试检查执行SQL任务这是一个组件。如果您是使用XML进行配置的尝试部署新的一个投掷的错误)。
Answer 2:
我有点迟到了,但我碰到这个线程运行,而经历了同样的错误,发现不同的分辨率。
当创建一个SSIS包2012,在解决方案资源管理器窗口中,您将看到连接管理器文件夹在项目层面。 这似乎是最合理的地方建立一个连接,并创建可以通过在项目中的任何包所使用的连接时,应使用。 它包含在项目层面,而不是包级别。
当使用DTEXEC运行我DTSX包,我收到上面显示的同样的错误。 这是因为连接未在包装(只是项目)包括在内。 我的解决办法是进入包设计,然后在连接管理器窗口中,右键单击该项目级别的连接(这是使用“(项目)”前缀所示),然后选择“转换为封装内连接”。 这将嵌入在实际DTSX包的连接。 这缓解了我的问题。
Answer 3:
这似乎当您使用新的SSIS在连接管理不是你的包,但在Visual Studio项目中定义的,只是拿到包引用2012“共享连接管理器”的概念也发生了。 通过SQL Agent或DTEXEC执行它产生同样的错误消息。
我还没有找到一个解决方案,但还希望能得到一些反馈,如果有人之前经历过。
Answer 4:
感谢您发布此问题。
一项决议:通过Windows资源管理器中打开XML格式的包,找到GUID对于不能找到的连接管理器。 就我而言,这是已损坏一个bonked事件处理程序的连接。 此相同的连接管理器是在控制流程中使用,但不知何故没有被破坏那里,所以并不明显,通过UI用户。 由于XML指出,事件处理程序连接管理器,我打开了事件处理程序选项卡中的UI,并立即显示在妙红X的源和被引用损坏的连接管理器ID目标上。 我把它重新瞄准正确的经理,重建PKG和保存。 好去。
关键是开放XML格式的PKG和定位GUID的代码,看看它是失败。 如果我没能找到在UI的有效参考吧,我正想请重命名的XML中的XML连接到另一个已知GUID,然后进入UI,再重新指向它,或者干脆删除它。
祝好运。
Answer 5:
在我的情况,我发现这个问题是以前配置的点不再使用旧的连接日志提供。 为了解决这个问题单击Package Explorer中选项卡然后单击登录提供商和删除过时的日志提供。 我希望这可以帮助别人。
Answer 6:
有关删除或移除连接以前的言论是绝对有可能。 但你也可以当你尝试调用使用项目级连接(而不是封装级连接)包得到这个错误。
如果您使用的项目级别的连接,并仍想使用DTEXEC,从不畏惧,有一种方法。 我不建议将它们转换为包级别的连接(假设您创建它们作为一个很好的理由项目级别的连接)。
您将需要部署SSIS项目。 您的SSIS服务器需要有(创建一个目录https://msdn.microsoft.com/en-us/library/gg471509.aspx )。 一旦你的目录,在你的SSIS项目选择项目 - >部署,然后按照向导。 其结果将是在你的SSIS解决方案文件夹/斌/发展产生了* .ispac文件
现在为了钱命令,而不是用一个简单的调用你的包:dtexec.exe / F“package.dtsx”
而不是把它这种方式:dtexec.exe /项目 “<...> / project.ispac”/包 “<...> / package.dtsx”
该ispac文件具有执行你的包所需要的项目级别的连接信息,你应该设置!
Answer 7:
我做了什么来解决这个问题很简单。 我不得不重新命名我的SQL Server,这样它会在(localhos)标签响应。 后,我改变了对SSIS所有的连接和我重新生成解决方案......它的工作。 希望它可以帮助你
Answer 8:
包装精美的作品上周五,入住TFS回家。 打开它在星期一,收到错误随处可见。 “连接管理器变量$ project._connectionstring没有在变量集合发现”。
我rtclick-编辑连接和测试连接,工作没有概率;他们。 该ConnMnger是在溶液中的连接管理器列表中。 当打开目标对象连接到该连接管理器,然后单击映射,上述错误弹出。 还有就是连接管理器变量映射的任何地方没有提及。
事实证明,以纠正这一点,你必须用鼠标右键单击连接管理器窗口中的连接管理器,并选择参数。 填写选项necessar -
性能:使用的ConnectionString参数Exisgint:$项目:: ConnMgrName_ConnectionString或创建新的参数:以下选项
一旦这个连接管理器参数,一切正常。 即使康恩经理在康涅狄格州管理器选项卡存在,康涅狄格州的主教已经在Solution Explorer中列出,并提前2天的工作没有问题。
奇。 随你。 微软是微软。 SQL服务器是SQL Server中。 选择你的毒药。
希望这有助于在未来的人节省一些时间。
Answer 9:
我有同样的问题,niether上述resoved它。 原来有是最后一个在我的SSIS的右下角,我真的不得不寻找发现禁用的旧SQL任务。 一旦我删除这一切都很好
Answer 10:
在我的情况下,事件处理程序的任务之一是指向该被删除,删除固定的问题未使用的事件处理程序的任务旧的连接。 我结束了XML格式打开包装明白,问题是事件处理的任务!
Answer 11:
就我而言,我可以在一个更简单的方法解决这个问题。 我打开x.dtsConfig归档和未知原因这个档案是不标准的格式,所以SSIS无法识别的配置。 幸运的是,我以前备份的档案,所以我不得不把它复制到原来的文件夹,一切再次合作。
Answer 12:
尝试当打开的项目在VS中打开SSDT 2010/2012 SSIS项目,2013年SSDT我收到此错误,它要求迁移所有的包。 当我允许它继续进行,每包有此错误和其他失败。 我发现,绕过转换和只单独打开每个程序包,所述包在开口升级,它转化细和成功运行。
Answer 13:
我在我的情况有同样的问题,原因是连接没有嵌入式和Oracle客户端不兼容。
解:
我的环境:SQL SERVER 2014的64位Oracle客户端32位
对于包括/嵌入连接
对于SQL SSIS目录/工作时间表设置配置按照图片的步骤
- 对上“SQL作业 - >步骤”或‘SSIS目录 - >包装 - >执行’,然后选择‘属性’
- 选择配置 - >高级选项卡
- 经过32位运行时间
我试图通过张贴图片一步一步的细节,但堆栈溢出不允许,由于声誉。 希望以后我会更新这个帖子。
Answer 14:
该解决方案为我工作:
转到SQL Server Management Studio中,右键单击失败的步骤,并选择属性 - >日志记录 - >删除日志提供程序,然后重新添加它
Answer 15:
在2008R2导致问题的另一种排列是包配置。 我已经设定要保存的属性/从dtsconfig文件进行配置,然后删除它所指的连接。 该决议是简单的,编辑配置和取消选择不需要的对象,然后选择重命名的连接管理器相应的属性。 错误保存,关闭并重新打开项目后未复发。 :-)
Answer 16:
我确定这个问题是通过识别是失败的特定连接损坏连接管理器。 我在SQL Server 2016工作,我创建了SSISDB目录,我有我的部署项目。
这里是一个简短的回答。 删除连接管理器,然后用相同的名称重新创建它。 确保使用该连接的包还在接线正确,你应该是好去。 如果你不知道该怎么做,我已经包括下面的详细过程。
识别损坏的连接,我做了以下。 在SSMS,我打开集成服务目录的文件夹,然后将SSISDB文件夹,则文件夹我的解决方案,并直到我发现我对这个项目的软件包列表。
通过右键点击失败,将报告>标准报告>所有执行,选择最后一次执行,并观看了“全部消息”报告中,我能找出是哪个连接是失败的包。 在我的情况下,连接管理器到我的目的地。 只是删除连接管理器,然后重新创建一个新的连接管理器使用相同的名称。
随后,我走进了我的包,打开了数据流,发现一些我的目的地已经点燃了红色的X.我打开了目的地,再选择正确的连接名称,重新选择目标表,并检查映射仍然是正确的。 我有六个目的地,只有三人有红色的X,但我点击所有的人,并确保他们仍然正确配置。
Answer 17:
我通常发现,当SSIS似乎是不合理的抱怨显然是一个很好的连接,这是因为我想直接定义使用包变量,而不是通过连接管理器连接。 例如:今天我有一个Web服务任务在那里我做了直接创建在包含Web服务的URL包变量来定义其“连接”属性的表达式的错误。 但是请注意,一个连接是不一样的事,作为一个ConnectionString的! 所以,当我看着任务,它看起来全世界所有喜欢它拥有一切有效,因为它显示一个完全有效的URL为“连接”。 问题是,该连接不能是字符串; 它必须是一个连接管理器。
Answer 18:
Answer 19:
在Visual Studio 2015年开发的包,我发现我必须提供的参数,它设置连接管理器的连接字符串,而是采用了设计时间值的值(当你部署或不同的服务器上运行,这将是这种情况)。 这将取消错误信息。 我认为这可能是一个错误。
dtexec /project c:\mypath\ETL.ispac /package mypackage.dtsx /SET \Package.Variables[$Project::myParameterName];"myValueForTheParameter"
我测试了这个使用或没有参数的连接字符串,它是在项目层次。 其结果是一样的:即我必须设置该参数的值,甚至认为它没有用。
Answer 20:
我有同样的问题。
我使用项目级别的连接管理器,我的包在SSDT正常运行,但是当我部署了他们,并通过与SQL Server代理作业执行它们,我得到的错误“未找到连接”。
所以我部署项目,然后问题解决了,当你使用项目级别的连接管理器只是部署从该项目单一封装,而你通过SQL Server代理调用封装,它不能识别您的连接管理器,所以你应该确定包水平连接管理器,或者你应该首先部署项目。
文章来源: SSIS Connection not found in package