file(fn:z,h)

阅读(354) 标签: 打开文件, 分机, 数据区,

描述:

打开分机某分区下的文件。

语法:

file(fn:z,h)

备注:

在分机h中找分区z下的文件fn

z省略或是单值时,返回远程文件对象,此时fn不支持组表文件;z是序列时,返回集群文件对象,此时fn仅支持组表文件。

h是单值时仅在h上找,返回远程文件时可写。

h不是单值,z省略或是单值时,优先找本地,本地找不到则在远程机器上寻找比较闲的分机中的文件,文件只读。

zh的序列成员为多个时,使用循环寻找方案:在h(1)中找z(1),找不到则在h(2)中找z(1),…直到找到为止,然后在下一个分机上找z(2),序列h遍历完则再从头循环,无法找全或找到则返回空,创建集群文件对象失败,找到则返回集群文件对象,无法找全或无法找到则返回空;要求不同节点机同一个分区下的数据要相同。

参数:

fn

加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录。IDE中主目录为集算器选项菜单里配置的主目录,主目录缺省为当前目录;服务器中主目录为配置文件raqsoftConfig.xml中的mainPath的值,并且不可为空。

z

数据区名称,缺省按主目录找

h

分机序列

选项:

@w

fn可以不存在,用于产生可写的集群文

返回值:

远程文件对象/集群文件对象

示例:

l  返回远程文件

file("Scores.xls",["192.168.0.28:9282"])

 

file("Scores1.txt":2, ["192.168.0.20:9282"])

加载"192.168.0.20:9282"下分区2中的" Scores1.txt"

file("Scores.txt",["192.168.0.11:9282","192.168.0.12:9282"])

优先加载本机中位于主目录下的文件" Scores.txt",找不到则在分机的主目录中寻找并打开

l  返回集群文件

 

 

A

 

1

=file("emp2.ctx":[1],["192.168.46.1:8281"])

读取节点机192.168.46.1:82811分区中的集群组表文件emp2.ctx

2

=A1.open().cursor(;EID>100)

返回集群游标

3

=file@w("emp3.ctx":[2],["192.168.46.1:8281"])

 

4

=A3.create(#EID,NAME,DEPT,SALARY)

在节点机"192.168.46.1:8281"中的2分区下新建可写的集群组表文件emp3.ctx

5

=A4.append@i(A2)

将集群游标追加到集群组表中

6

=file("emp.ctx":[1,2],["192.168.46.1:8281","192.168.192.131:8281"])

使用循环寻找方案,