首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用perl将blob插入到oracle DB中

使用perl将blob插入到oracle DB中
EN

Stack Overflow用户
提问于 2011-09-27 04:17:12
回答 2查看 2.4K关注 0票数 0

这到底有没有可能?我在网上看到过一些引用,指出应该使用存储过程,但我有一个脚本需要将go数据插入到数据库中。我该如何做,如果真的要做的话?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-27 04:55:21

您需要使用DBD::Oracle模块,

代码语言:javascript
复制
use DBD::Oracle qw(:ora_types);

在绑定参数时,不要忘记指定ora_type

代码语言:javascript
复制
$sth = $dbh->prepare("insert ...");
$sth->bind_param($field_num, $lob_value, { ora_type => ORA_LOB });
$sth->execute

$lob_value是包含文件内容的标量变量。

票数 11
EN

Stack Overflow用户

发布于 2018-06-10 03:42:51

我无法运行米格尔的例子,因为我安装的Perl没有ORA_LOB oracle类型。下面是一个适用于我的示例。

为简洁起见,我使用了硬编码值和内部db子例程,因此您显然需要将代码集成到您的环境中。

代码语言:javascript
复制
use strict;
use DBI;
use DBD::Oracle qw(:ora_types);
require "lib.pl";    #contains getDBConnection() and myExit()

our $dbh = getDBConnection();

my $lob_value;
open FILE, "D:/Inet/wwwroot/tmpcharts/data.xls" or myExit("Failed to open input file: $!\n");
binmode FILE;
$lob_value .= $_ while(<FILE>);
close FILE;

my $sth = $dbh->prepare("update x_trl_test_files set doc=? where file_id=6");
$sth->bind_param(1, $lob_value, { ora_type => ORA_BLOB });
$sth->execute;
$dbh->commit;

myExit();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7560809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档