SSIS调用Mysql数据源 密码丢失问题

通过SSIS读取Mysql数据,在VS开发环境当中没有问题

在发布并创建Job以后运行报错,获得以下提示信息:

Message
Executed as user: XXXXXX\XXXXXX. Microsoft (R) SQL Server Execute Package Utility  Version 11.0.5613.0 for 32-bit  Copyright (C) Microsoft Corporation. All rights reserved.    Started:  9:49:26 AM  Error: 2019-05-06 09:49:26.75     Code: 0xC0208449     Source: Data Prepare ADO NET Source [2]     Description: ADO NET Source has failed to acquire the connection {DF266534-1D04-499C-B37B-F4F3A39E7DF5} with the following error message: "Authentication to host 'XXXXXXXXXXX' for user 'XXXXXXXXX' using method 'mysql_native_password' failed with message: Access denied for user 'XXXXXXXXXX' (using password: YES)".  End Error  Error: 2019-05-06 09:49:26.75     Code: 0xC0047017     Source: Data Prepare SSIS.Pipeline     Description: ADO NET Source failed validation and returned error code 0xC0208449.  End Error  Error: 2019-05-06 09:49:26.75     Code: 0xC004700C     Source: Data Prepare SSIS.Pipeline     Description: One or more component failed validation.  End Error  Error: 2019-05-06 09:49:26.75     Code: 0xC0024107     Source: Data Prepare      Description: There were errors during task validation.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  9:49:26 AM  Finished: 9:49:26 AM  Elapsed:  0.438 seconds.  The package execution failed.  The step failed.

看提示是密码丢失。寻求各种方法无果,最后通过暴力方法解决了这个问题,方法如下:

1.依次打开Job Properties - Steps - Job Step Properties - Command line - Edit the command line manually

2.找到以下语句

/DTS "\"\File System\AFP_API_TRANS\AFP_API_TRANS\"" /SERVER "\".\""  /CONNECTION MysqlConnection;"\"server=XXXXXXXXXXX;user id=XXXXXXXXXXX;connectionreset=False;persistsecurityinfo=True;database=fonterra;\"" /X86  /CHECKPOINTING OFF /REPORTING E

3.选择Edit the command line manually,修改连接字符串,增加“pwd=YourPassword” (需要注意的是,每一次修改JOB,都需要重新在command line这里设一次)

4.问题解决

 

 

你可能感兴趣的:(SSIS)