簡體   English   中英

SSIS包XML源

[英]SSIS package XML source

我在SSIS(只是FTR)上還很陌生。

我必須使用SSIS包將XML數據從DB2數據庫導入SQL Server。 XML位於CLOB / BLOB中(取決於表),據我所知,Microsoft DB2驅動程序不支持XML,因此我建立了Java橋,該橋從客戶端獲取ID並返回XML。 通過Visual Basic客戶端(預編譯並)在SSIS中作為腳本任務執行來訪問該橋。 目前,性能並不是很重要(它是7XMLs / sec)。 從網橋返回的XML存儲在變量中,並且由於網橋接受一個I​​D /請求,因此請求場景位於Foreach循環容器中,該容器循環遍歷從SQL任務接收到的ID。

在foreach循環中,有一個Visual Basic客戶端存儲XML,一個從XML導入數據並存儲在FlatFile目標中的數據流,以及另一個Visual Basic任務,該任務在MsgBox()中顯示XML。

數據流還具有三個元素:XML源,派生列,平面文件目標。 XML源從具有修訂XML架構(XSD)的變量中獲取XML數據,然后發送已解析的數據。 “派生”列將ID作為新列添加到XML數據,並且FlatFile目標應保存它(如前所述,僅用於測試目的)。

當我啟動此程序包時,一切順利。 在Java橋中,我看到了通信和XML回傳,數據流也返回了無錯誤,但是它引發了一些警告,並且沒有行寫到文件中。 第二個VB腳本正確顯示了XML。

該警告帶有關於XML文件未處理輸出的數字0x80047076(因為我僅打算存儲其中的一部分)。

有什么主意,為什么沒有將任何數據寫入文件輸出?

SQL Server 2005 SP1 Java SE 1.6(我認為是u26)DB2 v.9

該警告如下所示:

警告:從XML,DTS導入時為0x80047076。管道:輸出“和”(36)和組件“ XML源”(1)上的輸出列“文本”(965)隨后未在數據流任務中使用。 刪除此未使用的輸出列可以提高數據流任務的性能。

我試圖將“硬編碼” XML文件添加到變量中。 我還使用XML Spy根據XML的XSD檢查了XML。 XML有效,但是沒有數據寫入平面文件。

當我嘗試調試並將變量添加到監視中時,我對XML進行了略微修改:“-s被反斜杠,並且在標准XML標頭之后,新的換行符也被打印為標准換行符:\\ n。 :

<?xml版本= \\“ 1.0 \\”編碼= \\“ UTF-8 \\”?> \\ n <擴展屬性> <客戶值> A </客戶值> ...

但是,在MsgBox中顯示XML時,XML正常打印(\\ n為換行符,\\“為”),所以我的猜測是,這只是未經處理的,直接從C / C ++ / C#字符串表示形式打印。

您是否曾試圖在將數據傳遞到平面文件目標位置之前對其進行可視化處理?

根據您的描述,聽起來好像數據沒有到達。

要將數據查看器添加到它,請按照此鏈接中的步驟操作: http : //msdn.microsoft.com/en-us/library/ms140318.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM