IQ 12.7的load table语句要求数据文件必须位于IQ Server所在的机器上,或是其能直接访问到的地方(比如,NFS文件系统),这限制了应用系统的灵活性。
从 IQ 15.0开始,这个限制被打破了。现在可以使用LOAD TABLE USING CLIENT FILE 语句进
行远程数据的批量装载(即数据文件位于客户端);而使用LOAD TABLE USING FILE 用于装载IQ Server服务器中的数据,其作用与 IQ 12.7的LOAD TABLE FROM 语法相同。IQ 15建议不再使用12.7的LOAD TABLE FROM语法(虽然目前在IQ 15中还可以使用12.7的load 语法)。
需要注意的是:
(1) 客户端和server端必须都采用IQ 15版本;15.0 服务器与12.7 客户端搭配使用将返回文件 I/O 错误.
(2) 对于open client isql等工具是不能使用这个特性的.(iq 15客户端带的dbisql可以)
下面是IQ 15使用客户端装载的例子:
//例子1:多线索装载
LOAD TABLE month
(
month_key '|!' ,
month_text '|!' ,
month_number '|!' ,
fiscal_period '|!' ,
year '|!' ,
period_and_year '|!' ,
month_and_year '|!'
)
USING CLIENT FILE '/home/cas/S1/MSIAC01'
ESCAPES OFF
QUOTES OFF
NOTIFY 1000000
ROW DELIMITED BY '\x0a'
WITH CHECKPOINT ON;
COMMIT;
//例子2: 单线索装载
LOAD TABLE month
(
month_key '|',
month_text '|',
month_number'|',
fiscal_period'|',
year '|',
period_and_year '|',
month_and_year '\x0a'
)
USING CLIENT FILE 'c:\temp\month.dat'
ESCAPES OFF
QUOTES OFF
NOTIFY 1000000
WITH CHECKPOINT ON;
COMMIT;
阅读(3224) | 评论(5) | 转发(0) |