IBM Books

参考

访问平面文件数据源

您可以在 Net.Data 初始化文件中使用 FFI_PATH 路径配置语句来列出使用 FFI 函数时允许 指定的目录和子目录,同时为那些不在该路径语句所包括的目录中的文件提供安全性。Net.Data 初始化文件在发行时是没有 FFI_PATH 的。请参阅 Net.Data 管理与程序设计指南,以了解如何配置路径。

FFI_PATH 使用以下语法:

FFI_PATH /path1;/path2;/path3...

在宏函数中调用 FFI 语言环境时,您可以使用 FFI 函数的 filename 参数来 指定与 FFI 函数一起使用的平面文件的路径。例如:

%DEFINE myfile = "/macros/myfile.txt" @DTWF_READ(myfile, ...)

以下章节将讨论:

Net.Data 如何确定平面文件的位置

Net.Data 使用 FFI 函数的 filename 参数中的信息在 Net.Data 初始化文件中 搜索 FFI_PATH 语句,并确定是使用指定的目录还是使用当前目录。

当 FFI 函数中指定文件名时,Net.Data 将通过搜索 FFI_PATH 中列出的每个路径来试图 找出该文件(从指定的第一个路径开始)。Net.Data 使用找到的第一个副本。如果文件没有找到,Net.Data 将试图在它正在运行的进程或线程的当前工作目录中查找该文件。

例:Net.Data 使用 FFI_PATH 配置语句来定位文件

FFI_PATH 包含以下目录:

FFI_PATH /macros;/macros/org1;/macros/org2

并且,该文件同时位于当前目录和 /macros/org1 中。如果函数调用为:

DTWF_READ("myfile.txt")
 

Net.Data 将使用 /macros/org1/myfile.txt。

如果使用 DTWF_READ 函数来读取一个现存文件,并且指定文件名 myfile.txt,那么, Net.Data 将在目录 /macros/macros/org1/macros/org2 中 搜索该文件(假定 FFI_PATH 包含了上述指定的路径列表)。

确定当前目录:

Net.Data 的当前目录取决于您的 Web 服务器的配置:

指定平面文件访问的建议:

使用以下建议以确保 Net.Data 能够访问平面文件数据源。

平面文件配置规则

在 Net.Data 初始化文件中添加或更新 FFI_PATH 时使用以下规则:

安全性建议

您可以指定 FFI 函数可以使用 Net.Data 初始化文件中的 FFI_PATH 语句来访问 哪些文件。FFI 只搜索该语句中列出的路径,因此其它目录中的文件不会遭到未授权的访问。

例如,您可以指定一个类似于此的 FFI_PATH,从而为 public 或 guest 用户 ID 指定目录。

FFI_PATH     C:\public;E:\WWW;E:\guest;A:

以下列表提供了保证平面文件安全的建议:

权限要求

请确保执行 Net.Data 的用户 ID 对 FFI 内部函数所使用的文件具有访问权限。请参阅 Net.Data 管理与程序设计指南的 配置一章中关于指定 Web 服务器对 Net.Data 文件的访问权限这一部分,以获取更多信息。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]