Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 远程数据和批量操作 » 访问远程数据

 

使用目录访问服务器

目录访问服务器是一种远程服务器,通过它可访问运行数据库服务器的计算机的本地文件结构。一旦连接到目录访问服务器,就可以使用代理表访问该计算机上的任何子目录。数据库用户必须有外部登录才能使用目录访问服务器。

目录访问服务器一旦创建便不能变更。如果需要更改目录访问服务器,则必须先删除它,然后再使用不同的设置重新创建。必须首先删除任何引用目录访问服务器的代理表,然后在重新创建目录访问服务器后重新创建这些表。

下面介绍了代理表的格式。

  • permissions VARCHAR(10)   Posix 样式的权限字符串,例如 "drwxrwxrwx"。

  • size BIGINT   文件的大小(以字节为单位)。

  • access_date_time TIMESTAMP   最近一次访问文件的日期和时间(例如 2010-02-08 11:00:24.000)。

  • modified_date_time TIMESTAMP   最近一次修改文件的日期和时间(例如 2009-07-28 10:50:11.000)。

  • create_date_time TIMESTAMP   创建文件的日期和时间(例如 2008-12-18 10:32:26.000)。

  • owner VARCHAR(20)   文件创建者的用户 ID(例如 Linux 上的 "root")。对于 Windows,此值始终为 "0"。

  • file_name VARCHAR(260)   包括相对路径在内的文件名称(例如 bin\perl.exe)。

  • contents LONG VARBINARY   在结果集中显式引用此列时返回文件内容。

注意

如果对映射到目录访问服务器的代理表执行 SELECT * 语句,将在 contents 列中返回一个空字符串。数据库服务器这样做的原因是,大多数情况下该操作的目的不是检索目录结构中每个文件的内容,而且这些文件可能很大。

但是,如果在选择列表、WHERE 子句或查询的任何其它部分中显式指定 contents 列,系统将读取文件内容。

建议应用程序执行 SELECT * 语句以检索文件列表和每个文件的信息(例如大小或修改时间)。然后,应用程序可以执行 SELECT contents WHERE filename=... 以读取特定文件的内容。


创建目录访问服务器
删除目录访问服务器