在SQL Server中如何用通配符搜索TEXT欄
一個(gè)應(yīng)用Informix數(shù)據(jù)庫(kù)的同事需要用通配符搜索TEXT欄。雖然Informix在LIKE與MATCH聲明中支持通配符,這一支持并不包括TEXT欄。將數(shù)據(jù)輸出給SQL Server的解決方案明顯支持這種搜索。
要完成搜索,我的同事必須讓Informix將有用數(shù)據(jù)輸出到一個(gè)文本文件中。然后,一個(gè)SQL Server DTS包將文本文件輸入到SQL Server的一個(gè)當(dāng)?shù)貙?shí)例中,然后在其中用通配符對(duì)TEXT欄進(jìn)行處理。
不幸地是,還存在兩個(gè)問(wèn)題:1)連接緩慢且在輸入完成前經(jīng)常中斷連接。2)如果決定中途取消操作,SQL Server放棄這時(shí)已經(jīng)處理的所有行為。他必須想出辦法,每n個(gè)記錄提交一次,然后再繼續(xù)操作。
為了給他找到解決辦法,我在DTS向?qū)е修D(zhuǎn)悠。發(fā)現(xiàn)解決方案已內(nèi)置在DTS中。
為說(shuō)明如何操作,我建立一個(gè)DTS包,將Northwind Customers數(shù)據(jù)庫(kù)輸出到一個(gè)文本文件中。然后,我建立一個(gè)新包把這個(gè)文本文件輸入到一個(gè)稱作Northwind_New的Northwind拷貝中。在DTS向?qū)е校浣Y(jié)果如圖1所示。現(xiàn)在,我將鼠標(biāo)放在管道上,右擊然后選擇屬性,出現(xiàn)名為“轉(zhuǎn)換數(shù)據(jù)任務(wù)屬性”的對(duì)話框。這時(shí)要用到的標(biāo)簽為選項(xiàng)(Options),如圖2所示。
要用的選項(xiàng)為“總是提交最后批”與“插入批大小”。第一個(gè)選項(xiàng)不需加以說(shuō)明;后一個(gè)選項(xiàng)對(duì)插入到批中的行數(shù)進(jìn)行控制。你可以對(duì)它進(jìn)行調(diào)整以滿足你的要求與應(yīng)用情形。默認(rèn)設(shè)置為0,也就是我的同事經(jīng)歷的情形,如果出現(xiàn)故障,整個(gè)批全部丟失。設(shè)置1迫使每次插入后進(jìn)行提交。設(shè)置100或1000則每100或1000行提交一次。
現(xiàn)在我的同事的問(wèn)題解決了,他正高興地用通配符搜索TEXT欄。
相關(guān)文章:
1. MySQL Delete 刪數(shù)據(jù)后磁盤(pán)空間未釋放的原因2. MySQL中文亂碼問(wèn)題解決方案3. MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過(guò)程詳解4. Microsoft Office Access隱藏和顯示字段的方法5. MySql如何使用not in實(shí)現(xiàn)優(yōu)化6. 淺談數(shù)據(jù)庫(kù)日期類型字段設(shè)計(jì)應(yīng)該如何選擇7. 解決Oracle賬戶被鎖定的問(wèn)題8. MySQL分支選擇參考:Percona還是MariaDB9. mysql存儲(chǔ)過(guò)程游標(biāo)之loop循環(huán)解讀10. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)
