一个应用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向导中,其结果如图1所示。现在,我将鼠标放在管道上,右击然后选择属性,出现名为“转换数据任务属性”的对话框。这时要用到的标签为选项(Options),如图2所示。
要用的选项为“总是提交最后批”与“插入批大小”。第一个选项不需加以说明;后一个选项对插入到批中的行数进行控制。你可以对它进行调整以满足你的要求与应用情形。默认设置为0,也就是我的同事经历的情形,如果出现故障,整个批全部丢失。设置1迫使每次插入后进行提交。设置100或1000则每100或1000行提交一次。
现在我的同事的问题解决了,他正高兴地用通配符搜索TEXT栏。