2012-10-05 4 views
0

PDO를 사용하여 PHP pdo_dblib을 사용하여 Sybase에 연결하려고합니다. 이것이 내가 한 것입니다 :pdo_dblib을 사용하여 sybase에 연결할 수 없습니다.

$conn = new PDO("dblib:host=$db_host:$db_port;dbname=$db_name","$login","$password"); 

그것은 내가 SQL Null error을 보여줍니다. 나는 그것을 올바르게하는 법을 모른다. PHP 정보를 확인한 후 pdo_dblib이 있습니다.

PDO Driver for FreeTDS/Sybase DB-lib: Flavour 
enabled: freetds 

그런데 데이터베이스 포트가 필요합니까? 이 전에는 데이터베이스 포트 번호를 넣지 않았으므로 이제 포트 번호를 얻을 수 없습니다.

답변

2

오류의 원인을 찾으려면 다음 단계를 따르십시오.

1 단계 : 텔넷을 사용하여 연결.

[email protected]:~$ telnet 10.1.1.1 5000 
Trying 10.1.1.1... 
Connected to 10.1.1.1. 

2 단계 : FreeTDS를에게의/etc/FreeTDS를/(우분투 11.10)

[global] 
    # TDS protocol version 
    tds version = 5.0 
    text size = 64512 

3 단계에있는

편집 freetds.conf를 구성합니다 FreeTDS를

[email protected]:~$ sqsh -S 10.1.1.1:5000 -Usa 
sqsh-2.1 Copyright (C) 1995-2001 Scott C. Gray 
This is free software with ABSOLUTELY NO WARRANTY 
For more information type '\warranty' 
Password: 
Msg 2401, Level 11, State 2 
Server 'XXXXXX' 
Character set conversion is not available between client character set 'utf8' 
and server character set 'cp850'. 
No conversions will be done. 
1> select * from ..... 

를 사용하여 연결 Step4 : PHP로 FreeTDS로 연결하기

확인 ...

$dbh = new PDO ('dblib:host=10.1.1.1:5000;dbname=databasename','sa','password'); 
관련 문제