首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于perl dbd oracle

关于perl dbd oracle
EN

Stack Overflow用户
提问于 2013-01-08 05:48:51
回答 1查看 2K关注 0票数 2

我有两个问题

  1. 当我运行下面的perl脚本时,我会得到以下错误

Unable to connect: ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach)

我无法修改tnsnames.ora,因为我没有访问权限。我知道tnsnames.ora没有用于testdb数据库的条目。有解决办法吗。我以为我正在用IP地址访问远程solaris机器中的数据库,所以不需要在本地solaris机器tnsnames.ora中输入一个条目。

代码语言:javascript
复制
$platform = "Oracle";
$database = "testdb";
$host = "testdb.dev.test.com.au";
$port = "2000";
$user = "scott";
$pw = "tiger";


$dsn = "dbi:$platform:$database:$host:3306";
print "$dsn" . "\n";

# PERL DBI CONNECT (RENAMED HANDLE)
my $dbstore = DBI->connect($dsn, $user, $pw) or die "Unable to connect: $DBI::errstr\n";

2我对DBD模块的理解甚至是oracle没有安装在本地机器上,DBD模块应该可以工作。但我注意到,在安装过程中,它使用了oracle客户端库。因此,如果安装DBD::Sybase,需要在本地计算机中安装sysbase。既然我正在访问远程服务器数据库,我想为什么需要本地安装oracle/sybase库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-08 07:00:56

你的dsn语法错了。试着让它看起来像下面这样:

代码语言:javascript
复制
$dsn = "dbi:$platform:host=$host;sid=$sid;port=$port";

在我使用过DBD::Oracle的许多情况下,上面的语法都适用于我。

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

https://stackoverflow.com/questions/14208937

复制
相关文章

相似问题

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