0

我在 Ubuntu wheezy 64 位上使用 Perl 5.14.2。

我正在尝试连接到安装在 Windows 2008 机器上的 Pervasive SQL server v9.5。

我测试了与 isql 的连接,它工作正常,我使用以下命令进行了测试:

isql -v <db_name>

我使用从 cpan 安装的 DBD:ODBC v1.39(最新版本)perl 模块。

我正在使用以下命令连接到 sql server:

use DBI;
my $db = DBI->connect('dbi:ODBC:Moked');

Moked 是在 odbc.ini 中的 unixodbc v2.2.14 中定义的连接名称。

/etc/odbc.ini

[Moked]
Driver=PERVASIVE_ODBC
Description=Pervasive ODBC Interface: Moked
ServerName=<ip>:<port>
DBQ=MIDA
UID=
PWD=
OpenMode=0
PvTranslate=

当我尝试使用上面显示的命令连接时,我收到错误 SQL-HY001,通过谷歌搜索我了解到它与内存分配有关,通常人们在查询时而不是在尝试连接时得到这些/

似乎 DBI 确实识别了连接,因为如果我键入不同的名称,例如“Moked2”,我会收到错误 SQL-IM002。

有任何想法吗?如何进一步调试此问题?任何有关该问题的信息将不胜感激。

谢谢!

4

1 回答 1

1

您收到内存分配错误,因为 PSQL v11 客户端无法可靠地连接到 PSQL v9.5 服务器。如果要使用 v11 客户端,还需要 v11 服务器。您可能能够在 Btrieve 级别上使用 v11 客户端,但在 ODBC 端,v9 和 v11 之间存在重大变化。

于 2012-08-24T17:26:13.253 回答