0

我有一个包含查找转换的 SSIS 包。这需要连接到数据库。在连接管理器中,当我使用Windows authentication连接时工作正常,但是当我使用时SQL Server Authentication,我收到此错误:

[A140_DAMAGETYPETEXT [3799]] 错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“servername.Datanbankname.sqlUser”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。

连接字符串:

数据源=TheServerName;用户 ID=TheSQLUser;初始目录=TheDababase;Provider=SQLNCLI10.1;Persist Security Info=True;Application Name=NameOfThePackage{80F4BFAB-642D-457E-9F47-1E811AFA48D0}ServerName.TheDababas‌​e.TheSQLUser;

4

2 回答 2

2

问题原因:

您的连接字符串缺少该Password属性。这就是连接管理器无法连接到数据库实例的原因。

修复的可能选项:

在 SSIS 上创建连接管理器时,请确保选中该Save my password框,以便将其Password保留在连接字符串中。如果您不选中此框,则不会保留该值,您必须键入该值。

连接管理器

包装配置:

如果您使用包配置,添加/更新连接管理器将导致Password属性从连接字符串属性中删除。我通常使用基于数据库的包配置。因此,每次更新包配置时,我都会使用查询来更新包配置表中的连接字符串。

推荐:

我更喜欢使用Windows 身份验证,这样连接数据库的密码就不会暴露。我觉得这Windows Authentication比处理SQL Server Authentication.

于 2013-02-25T15:35:58.253 回答
0

这是我的解决方案:单击

来自 Raj_007 的线程是救援。我使用了一个序列容器,并且 TransactionOption 设置为必需。

我将 TransactionOption 更改为支持,它对我有用。

于 2013-02-26T09:19:49.810 回答