使用 CLP 导入和导出数据

Palm OS、Symbian OS、Windows CE、Win32 平台、Neutrino 和嵌入式 Linux 的“DB2 Everyplace 命令行处理器”支持将数据从文件导入到 DB2 Everyplace,并支持将 DB2 Everyplace 数据导出到文件中。在 Palm OS 上导入和导出数据都要使用该设备上的备忘录文件。

过程

将数据从文件导入 DB2 Everyplace

要将数据从移动设备上的文件导入 DB2 Everyplace,输入:

IMPORT FROM file_name OF DEL INSERT INTO table_name [(column list)]
file_name 是要从其中导入数据的文件的名称。

在 Palm OS 上,file_name 是要从其中导入数据的备忘录的名称。文件名必须出现在备忘录的第一行中。Palm 备忘录最多能存储 4K 字节文本。table_name 是要导入数据的现有表的名称。例如,要将数据从命名为 mydata.txt 的文件导入命名为 mytable 的现有表,输入:

IMPORT FROM mydata.txt OF DEL INSERT INTO mytable

将 DB2 Everyplace 中的数据导出至文件

要将 DB2 Everyplace 的数据导出至文件,输入:

EXPORT TO file_name OF DEL stmt
file_name 是要将数据写入其中的文件的名称。stmt 是用来选择要导出的数据的 SELECT 语句。例如,要将所有数据从命名为 mytable 的表导出至命名为 myfile.txt 的文件,输入:
EXPORT TO myfile.txt OF DEL SELECT * FROM mytable

在 Palm OS 移动设备上导入和导出数据

DB2 Everyplace for Palm OS 使用一组 Windows 命令行工具和一个 Palm OS 应用程序来将数据作为 PDB 文件导入和导出。

“导入/导出”工具包括下列可执行文件,这些文件安装在 Windows 工作站上。这些文件位 于 DB2Everyplace\Clients\utilities 中:

CSV2DB2e.exe
此文件会将“逗号分隔值”文件(带有文件扩展名 .csv)中的数据导入 DB2 Everyplace 表。DB2e 表(例如,命名为 PERSON 的表)可用两个文件表示:DSY_PERSON 和 DSY_iPERSON。DSY_PERSON 文件包含数据,而 DSY_iPERSON 包含建立索引信息。

DB2e2PDB.exe
此程序会将 DB2 Everyplace 表转换为 Palm OS PDB 格式。然后,它会将这些文件复制到用户的目录中,并通知 HotSync 程序需要安装一些文件。如果系统中定义了多个用户,则会显示用户列表,以便您可以选择想要的用户。

PDB2DB2e.exe
PDB2DB2e.exe 将用户备份区域中的 Palm OS PDB 文件转换成 DB2 Everyplace 表。如果系统中定义了多个用户,则会显示用户列表,以便您可以选择想要的用户。

DB2e2CSV.exe
DB2e2CSV 将 DB2 Everyplace 表导出到 CSV 文件中。它还利用了名为 DB2eSYSTABLES 和 DB2eSYSCOLUMNS 的 DB2 Everyplace 系统目录文件。

PalmImport.bat
PalmImport.bat 结合了 CSV2DB2e.exe 和 DB2e2PDB.exe 的操作。

PalmExport.bat
PalmExport.bat 结合了 PDB2DB2e.exe 和 DB2e2CSV.exe 的操作。

“导入/导出”工具包括以下 Palm OS 应用程序:

DB2eImport.prc
此程序会将 HotSync 程序传送的 DB2 Everyplace 文件注册至本地 DB2 Everyplace 系统。

要将数据导入 Palm OS 设备:

  1. 以同一名称(例如,VNPERSON)创建两个文件,一个扩展名为 .csv,另一个扩展名为 .sch。.csv 文件包含数据,而 .sch 文件包含要导入的表的模式。注意文件名不能包含任何空格。样本 .csv 和 .sch 文件位于 DemoImport\ 文件夹中。两个文件分别命名为 VNPERSON.csv 和 VNPERSON.sch。

    表 202 列出了 CSV 文件中支持的数据类型及其表示法。

    表 202.

    数据类型 表示法
    integer(或 int) 1234
    smallint 1234
    decimal(n,p) 12.34
    char(n) "John"
    varchar(n) "John"
    date yyyymmdd
    time "14.05.48"
    timestamp "2001-05-01-16.16.51.000000"

    要表示一列空值,在 CSV 文件的逗号之间不输入任何值。例如,第二列为空的三个整数列在 CSV 文件中表示为 1,,3,在数据库中变为 1,null,3

  2. 启动导入工具 PalmImport.bat,将表模式作为参数。该模式应在相关的 .sch 文件中。使用以下语法来启动“导入”工具:
    PalmImport.bat path_name file_name
    

    其中 path_name 是指向 CSV 文件的路径,file_name 是大写 的 CSV 文件名,不带扩展名。CSV 文件名不能括在双引号中,也不能包含任何空格。例如:

    PalmImport.bat DemoImport VNPERSON
    

    导入的表会自动添加到“Palm 安装工具”,以便在下一个 HotSync 操作之后进行安装。

  3. 使用“Palm 安装工具”将 DB2eImport.prc 安装到 Palm OS 设备。
  4. 执行 HotSync 操作以完成导入的表和 DB2eImport.prc 的安装。
  5. 在 Palm OS 设备上启动 DB2eImport 程序以完成导入。

要从 Palm OS 设备导出数据:

  1. 执行 HotSync 操作以备份 Palm OS 设备。始终备份 DB2 Everyplace 文件(以 DSY 开头的文件),并从 Palm OS 用户的备份目录中除去它们,然后才开始 HotSync 操作。Windows 工作站上的备份区域通常位于:
    PalmDir\user_name\Backup
    

    其中 PalmDir 是 Palm OS 软件的安装目录,user_name 是 Palm OS 用户的用户名。

  2. 使用以下语法启动导出程序 PalmExport.bat:
    PalmExport.bat path_name file_name
    

    其中 path_name 是输出路 径,file_name 是大写的 DB2 Everyplace 表名。DB2 Everyplace 表名不能括在双引号中,也不能包含任何空格。例如:

    PalmExport.bat DemoExport VNPERSON
    

    生成的文件与源文件位于同一路径。

遇到错误时,“导入/导出”工具会报告处理的记录的号码。

使用“导入/导出”工具的样本包括在 DB2Everyplace\Clients\utilities 目录中。批处理文件 PalmExport.batPalmImport.bat 提供了如何使 用 CSV2DB2e.exeDB2e2CSV.exe 工具的示例。

相关概念

相关参考