gpt4 book ai didi

perl - 关于 perl dbd oracle

转载 作者:行者123 更新时间:2023-12-04 05:16:25 28 4
gpt4 key购买 nike

我有两个疑问

  • 当我运行以下 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 中输入。
    $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 库?

    最佳答案

    你的 dsn 语法错误。尝试使其如下所示:

    $dsn = "dbi:$platform:host=$host;sid=$sid;port=$port";

    在我使用过 DBD::Oracle 的许多情况下,以上语法对我有用。 .

    关于perl - 关于 perl dbd oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14208937/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com