技术开发 频道

★使用 DB2 9 pureXML管理ODF和Microsoft Office 2007文档



当然,您需要创建一个表。您将把新的 Word 格式中的 XML 存储在 XML 列中,而不是一个 Character Large Object (CLOB) 中。为此,需要创建一个支持 XML 或 UTF-8 的数据库。


清单 1. 创建一个支持 XML 的数据库

            CREATE DATABASE ODF AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY US
            

现在,需要连接到数据库,并用下面的定义创建一个表。下面的代码假设您有一个具有 CREATETAB 权限的用户名 “db2admin”。如果不具备这种用户设置,可以修改这些脚本,使具有适当的数据库用户。


清单 2. 创建用于包含 ODF 和 MS Office 2007 文档的支持 XML 的表

            CREATE TABLE DB2ADMIN.DOCUMENT (
            ID INT NOT NULL PRIMARY KEY,
            OWNER VARCHAR(128),
            DOC XML
            )
            

设置 PHP 和 Zend Core for IBM

代码将使用 PHP 的 ZIP 实用程序和 PDO。PDO 已经针对 Zend Core for IBM 设置完毕,但是需要将 “zip” 添加到配置中:

  1. 打开 Zend Core Administration Console
  2. 切换到 Configuration 选项卡和 Extensions 子选项卡。
  3. 向下滚动到 ZIP 扩展。
  4. 单击 switch 图标将其打开。
  5. 单击 Save Settings
  6. 重新启动 Apache2。
    1. 如果它不在运行,即在系统托盘中显示为红色羽毛,那么启动 C:\Program Files\Zend\Apache2\bin\ApacheMonitor.exe
    2. 单击它,从菜单中重新启动 Apache2 HTTP Server。

如果这样不行,那么试着编辑文件,确保 “C:\Program Files\Zend\Core for IBM\etc” 文件夹下的 php.ini 文件中包含下面几行。将下面用粗体表示的一行添加到 php.ini 中:


清单 3. 对 php.ini 的修改

            extension=php_zip.dll
            extension=php_pdo.dll
            extension=php_pdo_ibm.dll
            extension_dir="c:\program files\Zend\Core for IBM\lib\phpext"
            

使用 ODF 和 MS Office 2007 文档

现在,可以开始使用 opendoc.odt 了,它是下载小节中提供的一个 ODF 文件。虽然 图 2 显示了该文档的 MS Word 外观,但这个 ODF 文件看起来类似于 清单 4。该文档使用像 “Heading 1” 和 “Heading 2” 这样的样式作为格式。然后,我们将查询 Heading 2 样式,因为 OpenOffice 格式中使用了它。注意,在生产代码中,还需要包括适当的错误处理代码。

我还在下载小节中包括了一个 submit.docx 文档,该文档使用 MS Office 2007 格式。图 2 显示这个文档在 Word 中的样子。和 ODF 一样,该文档利用 “Heading 1” 和 “Heading 2” 之类的 Word 样式作为格式。然后,我们将查询 Heading 2 样式。


图 2. OpenOffice 或 MS Word 中显示的示例文档


当然,您需要创建一个表。您将把新的 Word 格式中的 XML 存储在 XML 列中,而不是一个 Character Large Object (CLOB) 中。为此,需要创建一个支持 XML 或 UTF-8 的数据库。


清单 1. 创建一个支持 XML 的数据库

            CREATE DATABASE ODF AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY US
            

现在,需要连接到数据库,并用下面的定义创建一个表。下面的代码假设您有一个具有 CREATETAB 权限的用户名 “db2admin”。如果不具备这种用户设置,可以修改这些脚本,使具有适当的数据库用户。


清单 2. 创建用于包含 ODF 和 MS Office 2007 文档的支持 XML 的表

            CREATE TABLE DB2ADMIN.DOCUMENT (
            ID INT NOT NULL PRIMARY KEY,
            OWNER VARCHAR(128),
            DOC XML
            )
            

设置 PHP 和 Zend Core for IBM

代码将使用 PHP 的 ZIP 实用程序和 PDO。PDO 已经针对 Zend Core for IBM 设置完毕,但是需要将 “zip” 添加到配置中:

  1. 打开 Zend Core Administration Console
  2. 切换到 Configuration 选项卡和 Extensions 子选项卡。
  3. 向下滚动到 ZIP 扩展。
  4. 单击 switch 图标将其打开。
  5. 单击 Save Settings
  6. 重新启动 Apache2。
    1. 如果它不在运行,即在系统托盘中显示为红色羽毛,那么启动 C:\Program Files\Zend\Apache2\bin\ApacheMonitor.exe
    2. 单击它,从菜单中重新启动 Apache2 HTTP Server。

如果这样不行,那么试着编辑文件,确保 “C:\Program Files\Zend\Core for IBM\etc” 文件夹下的 php.ini 文件中包含下面几行。将下面用粗体表示的一行添加到 php.ini 中:


清单 3. 对 php.ini 的修改

            extension=php_zip.dll
            extension=php_pdo.dll
            extension=php_pdo_ibm.dll
            extension_dir="c:\program files\Zend\Core for IBM\lib\phpext"
            

使用 ODF 和 MS Office 2007 文档

现在,可以开始使用 opendoc.odt 了,它是下载小节中提供的一个 ODF 文件。虽然 图 2 显示了该文档的 MS Word 外观,但这个 ODF 文件看起来类似于 清单 4。该文档使用像 “Heading 1” 和 “Heading 2” 这样的样式作为格式。然后,我们将查询 Heading 2 样式,因为 OpenOffice 格式中使用了它。注意,在生产代码中,还需要包括适当的错误处理代码。

我还在下载小节中包括了一个 submit.docx 文档,该文档使用 MS Office 2007 格式。图 2 显示这个文档在 Word 中的样子。和 ODF 一样,该文档利用 “Heading 1” 和 “Heading 2” 之类的 Word 样式作为格式。然后,我们将查询 Heading 2 样式。

0
相关文章