0

PDO を使用して、PHP を使用して Sybase に接続したいと考えていますpdo_dblib。これは私がやったことです:

$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

ところで、データベースのポートは必要ですか? この前は、データベースのポート番号を入力していませんでしたが、今でもポート番号を取得できません。

4

1 に答える 1

2

次の手順に従って、エラーの原因を見つけてください

ステップ1:telnetを使用して接続します。

xxx@ubuntuvbox:~$ telnet 10.1.1.1 5000
Trying 10.1.1.1...
Connected to 10.1.1.1.

ステップ2:FreeTDSを構成する

/ etc / freetds /にあるfreetds.confを編集します(Ubuntu 11.10)

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

ステップ3:FreeTDSを使用して接続する

xxx@ubuntuvbox:~$ 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 .....

ステップ4:PHPでFreeTDSを使用して接続する

これをチェックして...

$dbh = new PDO ('dblib:host=10.1.1.1:5000;dbname=databasename','sa','password');
于 2012-11-27T14:59:22.970 に答える