【发布时间】:2011-02-24 15:44:53
【问题描述】:
我正在尝试使用一个好的 Perl 模块来连接到 Sybase 数据库。
我的谷歌搜索让我认为sybperl 是一个可能的选择,但它自 2005 年以来一直没有更新。
【问题讨论】:
我正在尝试使用一个好的 Perl 模块来连接到 Sybase 数据库。
我的谷歌搜索让我认为sybperl 是一个可能的选择,但它自 2005 年以来一直没有更新。
【问题讨论】:
使用DBD::Sybase(通过 DBI)。我经常使用 FreeTDS 来连接 SQL Server,但它实际上是针对 Sybase 的 CT-Lib 接口编写的。
【讨论】:
我发现 DBD::Sybase 是用于 Sysbase DB 的最佳模块,Sybase::DBlib - Sybase DB-Library API。
【讨论】:
这里是你如何使用 perl 和 ODBC 连接到 linux 上的 sybase(64 位)-
安装 Sybase Open Client 和 ODBC 驱动程序。 (您可以从 ASE SDK 或 ASE 服务器安装中获取这两个)
您需要一个 odbc 驱动程序管理器,我已尝试使用 unixODBC
定义一个驱动配置,比如 -
[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
【讨论】: