使用Zend Framework 1.11与Sybase 12.5.4的PHP 5.3.10连接
我必须将我的Zend Framework 1.11应用程序与sybase 12.5.4连接 我需要知道如何在Windows7和Debian6上做到这一点 我在我的Windows上安装了sybase客户端并启用了php_sybase_ct扩展(sybase_ct出现在我的phpinfo上),但我甚至可以连接sybase_connect 以下代码:使用Zend Framework 1.11与Sybase 12.5.4的PHP 5.3.10连接,php,zend-framework,sybase,Php,Zend Framework,Sybase,我必须将我的Zend Framework 1.11应用程序与sybase 12.5.4连接 我需要知道如何在Windows7和Debian6上做到这一点 我在我的Windows上安装了sybase客户端并启用了php_sybase_ct扩展(sybase_ct出现在我的phpinfo上),但我甚至可以连接sybase_connect 以下代码: $cnn = sybase_connect('server.com.br,port', 'user', 'psw', "iso_1", 'app');
$cnn = sybase_connect('server.com.br,port', 'user', 'psw', "iso_1", 'app');
sybase_select_db('db', $cnn);
返回一个错误:
sybase_connect() [function.sybase-connect]: Sybase: Unable to connect in C:\wamp\www\testesybase.php on line 3
有人能帮我吗
我找了很久了
谢谢大家!
更新:
自从我让sybase_connect()connect工作以来,现在我的问题是:如何使Zend Framework 1.11在sybase 12.5.4上连接
我读到PHP使用pdo_dblib-pdo(sybase:…)-来实现这一点,但是Windows上的PHP5.3.10不再有这个驱动程序了
$cnn = sybase_connect('server.com.br,port', 'user', 'psw', "iso_1", 'app');
$cnn=sybase_connect('server.com.br,port','user','psw','iso_1','app');
把这个换成
$cnn = sybase_connect('server.com.br', 'user', 'psw', "iso_1", 'app');
$cnn=sybase_connect('server.com.br','user','psw','iso_1','app');
我通过使用PDO驱动程序来使用Zend Framework FreeTDS安装 您需要安装php5 sybase(sybase连接器提供连接MSSQL服务器和sybase所需的库)以及freeTDS软件和unixODBC 要安装和配置FreeTDS,请参阅 此外,还提供了有关FreeTDS安装的详细信息 配置连接字符串并与Zend Framework 1.11连接 在
/etc/freetds/freetds.conf
上配置连接,如下所示:
[MyServer]
host = <<ip>>
port = <<port>>
# use 8.0 for newer versions of SQLSERVER
tds version = 8.0
# text size don't need to be such a high value, its just an example
text size = 4294967295
client charset = UTF-8
;; BANCO DE DADOS LINUX
database.adapter = PDO_MSSQL
database.params.pdoType = dblib
database.params.host = MyServer
database.params.dbname = <<dbname>>
database.params.username = <<username>>
database.params.password = <<passwd>>
database.params.driver_options.charset = UTF-8
database.isDefaultTableAdapter = true
[MyServer]
主机=
端口=
#对于较新版本的SQLSERVER,请使用8.0
tds版本=8.0
#文本大小不需要这么高的值,它只是一个例子
文本大小=4294967295
客户端字符集=UTF-8
然后,在Zend Framework 1.11上,按如下方式配置连接:
[MyServer]
host = <<ip>>
port = <<port>>
# use 8.0 for newer versions of SQLSERVER
tds version = 8.0
# text size don't need to be such a high value, its just an example
text size = 4294967295
client charset = UTF-8
;; BANCO DE DADOS LINUX
database.adapter = PDO_MSSQL
database.params.pdoType = dblib
database.params.host = MyServer
database.params.dbname = <<dbname>>
database.params.username = <<username>>
database.params.password = <<passwd>>
database.params.driver_options.charset = UTF-8
database.isDefaultTableAdapter = true
;;达多斯银行
database.adapter=PDO_MSSQL
database.params.pdoType=dblib
database.params.host=MyServer
database.params.dbname=
database.params.username=
database.params.password=
database.params.driver_options.charset=UTF-8
database.isDefaultTableAdapter=true
下面的代码是什么:$cnn=sybase_connect('server.com.br','user','psw');打印(sybase_get_last_message());它打印:ct\u connect():目录服务层:内部目录控制层错误:找不到请求的服务器名称。
您可以从计算机ping'server.com.br'吗?我记得,过去我们在Ubuntu上配置了一个FreeTDS服务器来连接mssql服务器。在configfile[freetds.conf]中,我们必须初始化连接。例如[MyServer70]主机=example.com端口=1433 tds版本=7.0客户端字符集=UTF-8I收到错误!在我的工作中,我们对所有dsn使用一个共享的sql.ini。安装Sybase客户端时,我的路径更改为本地Sybase,因此我将(服务器)/Sybase/sql.ini上的所有内容复制到(本地)/Sybase/sql.ini。然后我可以连接到sybase。=)但是我还不能连接Zend框架!我使用的是resources.db.adapter=PDO_MSSQL resources.db.params.pdoType=sybase
但是它说sybase驱动程序当前没有安装?你能解释一下吗?@Guido,我在回答中添加了更多细节来帮助你。