共用方式為


ADO NET 來源

ADO NET 來源會從 .NET 提供者取用資料,並使該資料可供資料流程使用。

您可以使用 ADO NET 來源連接至 Microsoft Windows Azure SQL 資料庫。 不過,不支援使用 OLE DB 連接至 SQL 資料庫。 如需有關 SQL 資料庫 的詳細資訊,請參閱一般方針和限制 (SQL Azure 資料庫)

資料類型支援

此來源會將未對應到特定 Integration Services 資料類型的所有資料類型轉換成 DT_NTEXT Integration Services 資料類型。 即使資料類型為 System.Object,還是會發生轉換。

您可以將 DT_NTEXT 資料類型變更為 DT_WSTR 資料類型,或是將 DT_WSTR 資料類型變更為 DT_NTEXT 資料類型。 您可以在 ADO NET 來源的 [進階編輯器] 對話方塊中設定 [DataType] 屬性,以變更資料類型。 如需詳細資訊,請參閱<通用屬性>。

您可以在 ADO NET 來源之後使用資料轉換,將 DT_NTEXT 資料類型轉換成 DT_BYTES 或 DT_STR 資料類型。 如需詳細資訊,請參閱<資料轉換>。

在 Integration Services 中,資料類型 DT_DBDATE、DT_DBTIME2、DT_DBTIMESTAMP2 和 DT_DBTIMESTAMPOFFSET 會對應到 SQL Server 中的某些日期資料類型。 您可以設定 ADO NET 來源,從 SQL Server 使用的日期資料類型轉換成 Integration Services 使用的資料類型。 如果要設定 ADO NET 來源,以轉換這些日期資料類型,請將 ADO.NET 連接管理員的 [Type System Version] 屬性設定為 [Latest]。 ([Type System Version] 屬性位於 [連接管理員] 對話方塊的 [全部] 頁面上。 若要開啟 [連接管理員] 對話方塊,請以滑鼠右鍵按一下 ADO.NET 連接管理員,然後按一下 [編輯])。

[!附註]

如果 ADO.NET 連接管理員的 [Type System Version] 屬性設定為 [SQL Server 2005],系統會將 SQL Server 資料類型轉換成 DT_WSTR。

當 ADO.NET 連接管理員將提供者指定為 .NET Data Provider for SQL Server (SqlClient) 時,系統會將使用者定義資料類型 (UDT) 轉換成 Integration Services 二進位大型物件 (BLOB)。 當系統轉換 UDT 資料類型時,會套用以下規則:

  • 如果資料不是大型 UDT,系統會將資料轉換成 DT_BYTES。

  • 如果資料不是大型 UDT,而且資料庫上資料行的 [Length] 屬性設定為 -1 或是大於 8,000 個位元組的值,則系統會將資料轉換成 DT_IMAGE。

  • 如果資料是大型 UDT,系統會將資料轉換成 DT_IMAGE。

    [!附註]

    如果 ADO NET 來源未設定為使用錯誤輸出,系統會將資料流向 DT_IMAGE 資料行 (以 8,000 個位元組的區塊為單位)。 如果 ADO NET 來源設定為使用錯誤輸出,系統會將整個位元組陣列傳遞給 DT_IMAGE 資料行。 如需有關如何設定元件使用錯誤輸出的詳細資訊,請參閱<處理資料中的錯誤>。

如需有關 Integration Services 資料類型、支援的資料類型轉換及橫跨某些資料庫 (包括 SQL Server) 之資料類型對應的詳細資訊,請參閱<Integration Services 資料類型>。 

如需有關將 Integration Services 資料類型對應至 Managed 資料類型的詳細資訊,請參閱<使用資料流程中的資料類型>。

疑難排解 ADO NET 來源

您可以記錄 ADO NET 來源對外部資料提供者所執行的呼叫。 您可以使用這項記錄功能,疑難排解 ADO NET 來源執行的從外部資料來源載入資料的作業。 若要記錄 ADO NET 來源對外部資料提供者執行的呼叫,請啟用封裝記錄,然後在封裝層級上選取 [診斷] 事件。 如需詳細資訊,請參閱<封裝執行的疑難排解工具>。

ADO NET 來源組態

您可藉由提供定義結果集的 SQL 陳述式,以設定 ADO NET 來源。 例如,連接到 AdventureWorks2012 資料庫並使用 SQL 陳述式 SELECT * FROM Production.Product 的 ADO NET 來源會從 Production.Product 資料表擷取所有資料列,並提供資料集給下游元件。

[!附註]

當您使用 SQL 陳述式呼叫從暫存資料表傳回結果的預存程序時,請使用 WITH RESULT SETS 選項定義結果集的中繼資料。

[!附註]

如果您使用 SQL 陳述式執行預存程序,封裝就會失敗且出現下列錯誤。透過在 exec 陳述式前面加上 SET FMTONLY OFF 陳述式也許能夠解決這項錯誤。

Column <column_name> cannot be found at the datasource.

ADO NET 來源會使用 ADO.NET 連接管理員連接到資料來源,且由連接管理員指定 .NET 提供者。 如需詳細資訊,請參閱<ADO.NET 連接管理員>。

ADO NET 來源有一個一般輸出和一個錯誤輸出。

您可以透過 SSIS 設計師或以程式設計方式設定屬性。

如需有關可以在 [進階編輯器] 對話方塊中設定,或以程式設計方式設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何設定屬性的詳細資訊,請參閱<設定資料流程元件的屬性>。

相關內容

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。

請參閱

概念

DataReader 目的地

ADO NET 目的地

資料流程