Ssms

SQL Server 代理未執行 SSIS 包

  • March 9, 2022

我遵循了許多文章來創建一個 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".

有效。似乎設置 OLE DB 目標是問題所在。我用 ODBC 目標替換它,代理完成了它的工作

我認為該錯誤與您的伺服器或電腦上的 ODBC 配置有關。

我想知道您是使用 SSIS 目錄來執行包,還是在伺服器上使用 DTExec 來執行包?

如果您可以分享有關伺服器的更多詳細資訊,那將是一個好主意嗎?

我假設您使用的是 SSIS 目錄。

我建議查看以下設置:

  1. 檢查您的 MySql Server 是否具有與 SSIS 所在的 SQL Server 相同的 ODBC 驅動程序版本。
  2. 查看 DSN 連接是否與 SSIS 包中的連接名稱匹配。
  3. 轉到 SSIS 目錄所在的 SQL Server 中的 ODBC 連接管理器,並確保 ODBC 驅動程序版本與您的 SSIS 包中的版本匹配。
  4. 轉到 Visual Studio,打開您的項目,然後檢查您的 SSIS 項目屬性 –> 調試 – Run64BitRunTime 為 False。

在此處輸入圖像描述

因為您解釋過您使用的是 odbc32,所以您的包項目將是 Run64BitRunTime “false”,如上所述。如果您進行了此更改,請重新建構您的項目並再次部署它。

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/308439