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

请按照以下步骤查找错误原因

Step1:使用telnet连接。

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

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 步:使用 FreeTDS 与 PHP 连接

检查这个...

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