代码之家  ›  专栏  ›  技术社区  ›  Mike

如何用Perl连接到Sybase?

  •  3
  • Mike  · 技术社区  · 15 年前

    我正在尝试使用一个好的Perl模块来连接到Sybase数据库。

    我的咕噜声让我看到 sybperl 作为一个可能的选择,但它自2005年以来一直没有更新。

    3 回复  |  直到 9 年前
        1
  •  11
  •   Ether    15 年前

    使用 DBD::Sybase (通过DBI)。我经常将它与freetds一起使用以连接到SQL Server,但实际上它是针对Sybase的CT lib接口编写的。

        2
  •  1
  •   Space    15 年前

    我发现 DBD::Sybase 用于Sysbase数据库和 Sybase::DBlib -Sybase数据库库API。

        3
  •  0
  •   Kapil Raju    9 年前

    下面是如何使用Perl和ODBC连接到Linux(64位)上的Sybase-

    安装Sybase开放式客户端和ODBC驱动程序。(您可以从ASESDK或ASE服务器安装中获得这两个)

    你需要一个ODBC驱动程序管理器,我试过unixodc

    定义驱动程序配置-

    [Adaptive Server Enterprise]
    Description = Sybase ODBC Driver
    Driver = /sybase/DataAccess64/ODBC/lib/libsybdrvodb.so
    FileUsage = -1
    

    这是一个Perl示例-

    #!/usr/bin/perl
    
    use strict;
    use DBI;
    use DBD::ODBC;
    
    BEGIN {
     $ENV{SYBASE}   = "/sybase";
    }
    my $user = "";
    my $passwd = "";
    my $server = "";
    my $database = "pubs1";
    my $port = "5000";
    my $data_source = "DBI:ODBC:DRIVER={Adaptive Server Enterprise};server=$server;port=$port;database=$database;";
    my @drivers = DBI->available_drivers;
    print join(", ", @drivers), "\n";
    my $dbh = DBI->connect($data_source, $user, $passwd)
    or die "Can't connect to $data_source: $DBI::errstr";
    my $statement = "SELECT * FROM <table_name>";
    my @row = $dbh->selectrow_array($statement);
    print "@row\n";
    $dbh->disconnect;
    

    有关详细步骤,请参见- http://kapilraju.tumblr.com/post/131288341356/connect-to-sybase-using-perl-odbc