我有一个包含查找转换的SSIS包。这需要连接到数据库。在连接管理器上,当我使用 Windows authentication
时,连接正常,但当我使用 SQL Server Authentication
时,我收到此错误:
[A140_DAMAGETYPETEXT [3799]]错误:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接管理器“servername.Datenbankname.sqlUser”失败,错误代码为0xC0202009。在此之前可能会发布错误消息,其中包含有关AcquireConnection方法调用失败原因的更多信息。
Data Source = TheServerName; User ID = The SQLUser; Initial Catalog = TheDababase; Provider = SQLNCLI10.1; Persist Security Info = True; Application Name = NameOfThePackage {80F4BFAB-642D-457E-9F47-1E811AFA48D0} ServerName.TheDababas e .TheSQLUser;
答案 0 :(得分:2)
您的连接字符串缺少 Password
属性。这就是连接管理器无法连接到数据库实例的原因。
在SSIS上创建连接管理器时,请务必检查 Save my password
框,以便在连接中保留 Password
串。如果不选中此框,则不会保留该值,您必须键入值。
如果您使用的是程序包配置,则添加/更新连接管理器将导致 Password
属性从连接字符串属性中删除。我通常使用基于数据库的包配置。因此,每次更新软件包配置时,我都会使用查询来更新软件包配置表中的连接字符串。
我更喜欢使用 Windows身份验证,以便不会公开连接到数据库的密码。我认为 Windows Authentication
比处理 SQL Server Authentication
更安全。
答案 1 :(得分:0)
这是我的解决方案:点击
来自Raj_007的线程是救援。我使用了一个sequece容器,并且TransactionOption设置为required。
我将TransactionOption更改为支持,它对我有用。