我在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中定义的连接名称。
[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。
任何想法? 我该如何进一步调试此问题? 任何有关该问题的信息都将不胜感激。
谢谢!
答案 0 :(得分:1)
您收到内存分配错误,因为PSQL v11客户端无法可靠地连接到PSQL v9.5服务器。如果要使用v11客户端,则还需要v11服务器。您可以在Btrieve级别上使用v11客户端,但在ODBC端v9和v11之间存在重大变化。