使用SQL-HY001连接失败

时间:2012-08-23 13:53:10

标签: perl memory-management odbc dbd pervasive-sql

我在Ubuntu喘息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。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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