WEB开发网
开发学院数据库DB2 在 DB2 for Linux, UNIX and Windows 中使用管道加... 阅读

在 DB2 for Linux, UNIX and Windows 中使用管道加载数据

 2010-04-27 00:00:00 来源:WEB开发网   
核心提示: TestPipe.java — 创建、使用和关闭 Windows 指定管道的 JNI 调用,TestUnixPipe.java — 包含对 mkfifo 命令的指纹调用,在 DB2 for Linux, UNIX and Windows 中使用管道加载数据(2),用于创建

TestPipe.java — 创建、使用和关闭 Windows 指定管道的 JNI 调用。

TestUnixPipe.java — 包含对 mkfifo 命令的指纹调用,用于创建、使用和抛弃 UNIX 中的指定管道

db2load.sql — 包含使用管道的 DB2 LOAD 命令。

Windows 中的指定管道

在 Windows 中创建的指定管道并不如在 UNIX 和 Linux 中创建的管道那样持久,并且您采用与特殊文件相似的方式来创建它们。Windows 指定管道的访问更像是文件,但管道在 Windows Explorer 中并不可见。Windows 管道将加载到一种特殊的文件系统。您可以使用 Windows SDK 功能(如 CreateFile、ReadFile、 WriteFile 和 CloseHandle)来打开、读取、写入和关闭管道。

UNIX 和 Linux 中的指定管道

在 UNIX 或 Linux 中,您可以使用 mkfifo 或 mknod 命令来创建指定管道。两个独立的进程可以访问创建的管道。mkfifo 命令将创建一个 First In First Out (FIFO) 文件。然后,您可以使用此 FIFO 文件将信息从一个应用程序移到另一个应用程序,而不需要将数据存储在中间文件中。因此,您可以节省原本用于存储临时文件的空间。如果为类型指定了 p 选项,则 mknod 命令还将创建一个指定管道。

以下命令示例将通过两个步骤创建一个指定管道,并在 Unix 或 Linux 环境中载入数据。

步骤 1 — 将创建一个指定管道,并将未压缩的数据发送给管道:

$ mkfifo db2pipe 
$ gunzip tabledata.gz > db2pipe 

步骤 2 — 使用管道将未压缩的数据载入到 DB2:

$ db2 connect to sample 
$ db2 "LOAD FROM db2pipe OF DEL INSERT INTO mytable" 
$ db2 terminate   

上一页  1 2 3 4 5 6 7  下一页

Tags:DB for Linux

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接