pick - 使用 D3 pick 将表写入文件

标签 pick

在 D3 中,假设我有一个名为 foo 的文件,并且我想将该文件的内容写入/var/tmp/bar。文档让我相信应该可以通过将 D 指针更改为 Q 指针来使 D3 将文件写入文件系统,但我不知道如何实现这一点。

最佳答案

您至少可以通过几种方法来做到这一点。

1) 您不想将 d 指针更改为 q 指针,您只想创建一个 q 指针。换句话说,不需要先有 d 指针来访问主机文件系统。因此,名为“bar”的 q 指针将如下所示:

Q
/var/tmp/bar

有了它,您可以简单地:

copy foo
to: (bar

请注意,在这种情况下,“bar”是主机操作系统文件夹/目录,而不是文件。 D3"file"是一个具有多条记录的表。这会转换为包含多个文件的主机操作系统目录。

“复制”命令上提供了一些选项,可以在复制记录时禁止显示项目 ID(键)(请参阅文档)。

2)你甚至不需要 q 指针:

copy foo
to: (/var/tmp/bar

3) 同样,在代码中您可以使用 q 指针,也可以使用直接路径:

open 'bar' to f.bar1 ...
open '/var/tmp/bar' to f.bar2 ...

==

路径语法使用一种称为 OSFI 的机制(请参阅文档)。使用此语法您可以指定一个驱动程序。名为“unix:”的默认驱动程序将属性标记转换为 *nix EOL,即换行符 x0A。如果您使用的是 Windows,则默认值为“dos:”,它将属性标记转换为 CRLF x0D0A。您可以通过在路径前面加上驱动程序来强制非默认。因此,要在 Unix/Linux 中创建 DOS 格式的文件,请使用 dos:/var/tmp/bar。默认驱动程序还会在制表符和 4 个空格之间进行转换(请参阅文档)。值和子值不会转换,但可以创建新的驱动程序来执行此操作。使用 'bin:' 驱动程序来避免转换,因此 bin:/var/tmp/bar 不会将 @am (xFE) 转换为 x0A 等。

如果您需要更多详细信息,我很乐意添加。

关于pick - 使用 D3 pick 将表写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24048425/

相关文章:

database - pick/UniVerse 数据库中的常量

database - 使用 mvsp java api 的 D3 连接问题

rdf - 选择和 RDF/SPARQL

c# - 如何将内部数字日期转换为 Access 日期/时间格式?

c - PICK/BASIC、FlashBASIC 和 C 互操作性

git - 防止在 Git 中 checkout

c# - 使用 Odbc C# .Net 连接到 Pick 数据库