在 DB2 for Linux, UNIX and Windows 中使用管道加载数据
2010-04-27 00:00:00 来源:WEB开发网核心提示:动机在 UNIX 和 Linux 环境中,您可以使用 mkfifo 命令来创建管道,在 DB2 for Linux, UNIX and Windows 中使用管道加载数据,然后,您可以通过 DB2 LOAD 命令来使用管道,IBM Data Movement Tool 演示了这一概念, pipeload.zip 下载
动机
在 UNIX 和 Linux 环境中,您可以使用 mkfifo 命令来创建管道。然后,您可以通过 DB2 LOAD 命令来使用管道。但是,Windows 操作系统不允许您使用类似于 mkfifo 的外部命令来创建指定管道。在 Windows 中,您需要通过 Windows API 来创建指定管道,并且该管道的作用域仅限于创建它时所处的会话。此外,使用 Java 创建的指定管道不能与 Windows shell 交互,因此不能由 DB2 LOAD 命令使用。
本文 下载 部分提供了 pipeload.zip 文件的下载链接,其中的示例代码可帮助您解决此问题。使用该示例代码,您可以创建供 DB2 LOAD 命令使用的 Windows 管道。为此,您将创建一些 Java Native Interface (JNI) 包装器,它们可通过 C 程序调用 Windows API 以创建和使用指定管道。然后,您可以使用 Java 程序将数据发送给 Windows 管道。
示例代码概述
从较高的层面来说,示例代码使用 Java 驱动程序(TestPipe.java 或 TestUnixPipe.java)将数据发送给指定管道。然后,db2load.sql 通过单独命令 shell 中的管道来使用数据。IBM Data Movement Tool 演示了这一概念。
pipeload.zip 下载 文件中各主要文件的描述如下:
Pipe.c — 使用 Windows APIs 创建、使用和关闭 Windows 指定管道的 C 代码。
Pipes.java — 为 Pipe.c 中使用的所有 Windows 本地方法声明包装器的 Java Native Interface (JNI)。
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
- ››Linux远程访问windows时,出现"连接被对端重...
- ››linux中使用head命令和tail命令查看文件中的指定行...
- ››linux swap 分区调控(swap分区 lvm管理)
更多精彩
赞助商链接