我遵循了许多文章来创建一个 SSIS 管道包,部署它并安排它。我正在尝试从两个远程服务器传输数据,一个连接到作为源的 SQL Server 数据库的 OLEDB 驱动程序和一个连接到作为目标的 MySQL 数据库的 ODBC 驱动程序的 OLEDB 提供程序......
管道在 Visual Studio 上运行良好,当我部署它并从 SSMS 执行它时,但是当我创建作业时,我收到以下错误:
注意:我正在为 MySQL 使用 32 位 ODBC 驱动程序。
有任何想法吗 ?
更新(必须更新,因为每个人都无法看到图像)
错误 :
Data Flow Task:Error: OLE DB Destination failed
validation and returned error code 0xC020801C.
Data Flow Task:Error: SSIS Error Code
DTS_E_CANNOTACQUIRECONNECTIONFROMCONNE
CTIONMANAGER. The AcquireConnection method call to
the connection manager
"remotemysql.com.uVt96HeM3y.uVt96HeM3y1" failed with
error code 0xC0202009. There may be error messages
posted before this with more information on why the
AcquireConnection method call failed.
Package1:Error: SSIS Error Code
DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80004005.
An OLE DB record is available. Source: "MSDataShape"
Hresult: 0x80004005 Description: "Data provider could not
be initialized.".
An OLE DB record is available. Source: "Microsoft OLE
DB Provider for ODBC Drivers" Hresult: 0x80004005
Description: "[Microsoft][ODBC Driver Manager] Data
source name not found and no default driver specified".
我认为该错误与您的服务器或计算机上的 ODBC 配置有关。
我想知道您是使用 SSIS 目录来执行包,还是在服务器上使用 DTExec 来执行包?
如果您可以分享有关服务器的更多详细信息,那将是一个好主意吗?
我假设您使用的是 SSIS 目录。
我建议查看以下设置:
因为您解释过您使用的是 odbc32,所以您的包项目将是 Run64BitRunTime “false”,如上所述。如果您进行了此更改,请重新构建您的项目并再次部署它。
有效。似乎设置 OLE DB 目标是问题所在。我用 ODBC 目标替换它,代理完成了它的工作