SSIS 2008:即使测试连接成功,SQL Server数据源也无法在包中进行身份验证

SSIS 2008:即使测试连接成功,SQL Server数据源也无法在包中进行身份验证,sql,sql-server-2008,ssis,etl,Sql,Sql Server 2008,Ssis,Etl,我正在运行一个以SQL Server数据库作为数据源的包。当我在ConnectionManager窗口中单击数据源并单击TestConnection时,它连接得很好 但是,当我运行包时,我写入使用此数据源的数据库的步骤会出错,并返回以下错误: SSIS package "ImportModerators.dtsx" starting. Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beg

我正在运行一个以SQL Server数据库作为数据源的包。当我在ConnectionManager窗口中单击数据源并单击TestConnection时,它连接得很好

但是,当我运行包时,我写入使用此数据源的数据库的步骤会出错,并返回以下错误:

SSIS package "ImportModerators.dtsx" starting.
Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning.
Error: 0xC0202009 at ImportModerators, Connection manager "StagingDatabase": SSIS Error      Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E4D.
An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"    Hresult: 0x80040E4D  Description: "Login failed for user 'asrm'.".
Error: 0xC020801C at Data Flow Task, Add new Moderators [422]: SSIS Error Code  DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to  the connection manager "StagingDatabase" failed with error code 0xC0202009.  There may be  error messages posted before this with more information on why the AcquireConnection method  call failed.
Error: 0xC0047017 at Data Flow Task, SSIS.Pipeline: component "Add new Moderators" (422) failed validation and returned error code 0xC020801C.
Error: 0xC004700C at Data Flow Task, SSIS.Pipeline: One or more component failed validation.
Error: 0xC0024107 at Data Flow Task: There were errors during task validation.
SSIS package "ImportModerators.dtsx" finished: Failure.
为什么测试连接可以工作,但在我运行包时会说数据库用户登录失败

以下是我们正在使用的配置:

<?xml version="1.0"?>
<DTSConfiguration><DTSConfigurationHeading><DTSConfigurationFileInfo GeneratedBy="xxxxxx" GeneratedFromPackageName="CleanData" GeneratedFromPackageID="{53268653-3492-4431-A92B-6A7A179AECC6}" GeneratedDate="8/1/2014 2:25:49 PM"/>        </DTSConfigurationHeading>
<Configuration ConfiguredType="Property"  Path="\Package.Connections[StagingDatabase].Properties[ConnectionString]"  ValueType="String">
    <ConfiguredValue>Data Source=xxxxxxxxxxxxx\SQLEXPRESS2008;User ID=xxxxxx;Password=xxxxxxxxx;Initial Catalog=xxxxxxxxxxxx;Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;Application Name=SSIS-Package1-{A9C89B7E-189F-4EF8-A690-61331A45D70D}localhost.xxxxxx;</ConfiguredValue>
</Configuration>
<Configuration ConfiguredType="Property" Path="\Package.Connections[StagingDatabase].Properties[Password]" ValueType="String">
    <ConfiguredValue>xxxxxxxxxxxxx</ConfiguredValue>
</Configuration>

数据源=xxxxxxxx\SQLEXPRESS2008;用户ID=xxxxxx;密码=xxxxxxxxx;初始目录=XXXXXXXXXX;Provider=SQLNCLI10.1;持久安全信息=True;自动翻译=假;应用程序名称=SSIS-Package1-{A9C89B7E-189F-4EF8-A690-61331A45D70D}localhost.xxxxxx;
XXXXXXXXXXXX

从这张小图中,我只能看到“用户登录失败…”错误。任何覆盖连接字符串的配置都会使错误更易于读取。有一个配置文件正在使用,但据我所知,其中的凭据连接到数据库是正确的…我将把配置文件添加到问题中,以获得更多上下文+1,从而添加更多详细信息。为了测试,请继续并禁用配置。完成此操作后,再次测试该包,并查看凭据是否仍然有效。如果他们这样做了,那么您的配置有问题。如果他们没有,您的凭据本身就有问题。关于配置文件,我发现奇怪的是,我在同一个解决方案中有多个包,它们都使用此数据源写入同一个数据库。这个包裹是唯一一个因为某种原因而发疯的包裹。此外,如果我使用SQL Management Studio使用配置文件中的凭据连接到所讨论的数据库,它完全可以工作。所以我不认为这是一个凭证错误的问题。这真奇怪!然后我猜连接字符串上的某个表达式会把整个事情搞砸。您还可以为这个包设置DelayValidation=True,并查看是否有帮助。