2012-10-05 63 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步:使用telnet進行連接。

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

第二步:配置freetds的

編輯freetds.conf,位於/ etc/freetds的/(Ubuntu的11.10)

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

步驟3:使用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:使用FreeTDS與PHP連接

查看此...

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