一個應用Informix數據庫的同事需要用通配符搜索TEXT欄。雖然Informix在LIKE與MATCH聲明中支持通配符,這一支持並不包括TEXT欄。將數據輸出給SQL Server的解決方案明顯支持這種搜索。
要完成搜索,我的同事必須讓Informix將有用數據輸出到一個文本文件中。然後,一個SQL Server DTS包將文本文件輸入到SQL Server的一個當地實例中,然後在其中用通配符對TEXT欄進行處理。
不幸地是,還存在兩個問題:1)連接緩慢且在輸入完成前經常中斷連接。2)如果決定中途取消操作,SQL Server放棄這時已經處理的所有行。他必須想出辦法,每n個記錄提交一次,然後再繼續操作。
為了給他找到解決辦法,我在DTS向導中轉悠。發現解決方案已內置在DTS中。
為說明如何操作,我建立一個DTS包,將Northwind Customers數據庫輸出到一個文本文件中。然後,我建立一個新包把這個文本文件輸入到一個稱作Northwind_New的Northwind拷貝中。在DTS向導中,其結果如圖A所示。
圖A
現在,我將鼠標放在管道上,右擊然後選擇屬性,出現名為“轉換數據任務屬性”的對話框。這時要用到的標簽為選項(Options),如圖B所示。
圖B
要用的選項為“總是提交最後批”與“插入批大小”。第一個選項不需加以說明;後一個選項對插入到批中的行數進行控制。你可以對它進行調整以滿足你的要求與應用情形。默認設置為0,也就是我的同事經歷的情形,如果出現故障,整個批全部丟失。設置1迫使每次插入後進行提交。設置100或1000則每100或1000行提交一次。
現在我的同事的問題解決了,他正高興地用通配符搜索TEXT欄。