2012-08-23 7 views
0

저는 64 비트 Ubuntu에서 Perl 5.14.2를 사용하고 있습니다.SQL-HY001로 연결하지 못했습니다.

Windows 2008 시스템에 설치된 Pervasive SQL 서버 v9.5에 연결하려고합니다.

나는 ISQL와의 연결을 테스트하고 제대로, 나는 다음과 같은 명령을 사용하여 테스트 작품 : CPAN에서 설치 ODBC의 v1.39 (최신 버전) 펄 모듈 :
isql -v <db_name> 

내가 DBD를 사용합니다.

나는 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를 얻을, 보통 사람들이 얻을 쿼리하는 동안 및 연결 시도 중/

다른 이름을 입력하면 (예 : 'Moked2') SQL-IM002 대신 DBI에서 연결을 인식하는 것 같습니다.

어떤 아이디어가 있습니까? 어떻게이 문제를 더 디버깅 할 수 있습니까? 문제에 관한 정보는 크게 감사하겠습니다.

감사합니다.

+0

당신은 명령 줄에서 펄을 실행하고 있습니까, 아니면 아파치 (또는 뭔가)를 통해 제공되고 있습니까? Apache에서 perl을 제공하는 경우 명령 줄에서 실행하면 작동합니까? – mirtheil

+0

명령 줄에서 실행합니다. – ufk

+0

어떤 버전의 PSQL Linux 클라이언트를 사용하고 있습니까? – mirtheil

답변

1

PSQL v11 클라이언트가 PSQL v9.5 서버에 안정적으로 연결할 수 없으므로 메모리 할당 오류가 발생합니다. v11 클라이언트를 사용하려면 v11 서버도 필요합니다. Btrieve 레벨에서 v11 클라이언트를 사용할 수는 있지만 ODBC 측에서 v9와 v11 사이에 중요한 변경 사항이있었습니다.

+0

welp 32 비트 및 64 비트 버전을 여러 번 시도한 일부 재설치를 수행했습니다. 우분투에서 설치하거나 perl 용 cpan 모듈을 다운로드하려고했습니다. 결국 그것은 작동합니다! 나는 이유를 모른다. .. 나는 처음에 문제가 무엇인지를 정말로 이해할 수 없다. v11 클라이언트는 psql v9.5에서 작동합니다. 어쩌면 나중에 버전 변경 때문에 문제가 발생할 수 있지만 적어도 연결이 작동합니다! 감사 – ufk

관련 문제