如果执行这个程序,就会看到给定部门(本例中为 10)的 LOCATION:
|
使用 Perl 来处理文件比使用其他更复杂的语言(例如 C 或 Java®)都要简单。下面我们就会看到怎么样将数据直接从文件中导入 DB2 的大对象数据(LOB)列中。插入大对象数据的最有效的方法是,将这个文件直接绑定到 DB2 表中一个与 LOB 类型的列相关联的输入参数上。Perl 驱动程序可以直接从文件中读取数据,并将数据传递给数据库服务器。要将一个文件绑定到某个输入 LOB 参数上,可以在执行 INSERT 操作过程中使用 bind_param 方法来指定 { db2_file => 1} 参数属性。
在我们的数据库模式 POT 下面有一个表 MAP。这个表有一个 picture 列,它被声明成 BLOB 类型的,用来存放某个地区的图像。下面是创建该表所使用的 DDL:
|
另外,我们还有一个文件 pearcson.jpg,其中包含了 Pearson Airport 的地图。

现在让我们来编写一个程序,向表 POT.MAP 中插入一行数据,即将 JPG 文件的图像插入到 PICTURE 中。首先,需要构造一个具有 5 个参数标记的动态 SQL 语句。然后,需要对这条语句进行准备。在将参数绑定到准备好的语句上之前,需要指定包含要插入的图像的文件名,并将其赋给一个本地 Perl 变量($picture_file)。现在可以将所有参数全部绑定到需要插入到 MAP 表中的值上。请注意,我们为最后一个参数指定了 db2_file =>1 属性。最后一个步骤是执行这条 INSERT 语句。这个程序的代码如下:
|
可以使用标准的 fetch 方法来检索 LOB 数据,例如 fetchrow_array 或 fetchrow_arrayref。DBI 让我们可以使用 LongReadLen 连接属性来设置每次 fetch 可以检索的最大字节数。对于 LOB 列来说,缺省值为 32,700 个字节。要实现这种功能,需要执行以下步骤:
下面是展示怎么样从数据库中检索 LOB 数据的代码:
上一篇:基于DB2的数据库应用系统的性能优化 下一篇:IBM DB2数据库日常维护小常识 更多相关文章
|
推荐文章
精彩文章
|