简体   繁体   English

通过Zend框架SQLSTATE []连接到MsSql Db(空)(严重性0)

[英]Connecting to MsSql Db through Zend framework SQLSTATE[] (null) (severity 0)

i have a problem connecting to a db (mssql) from my mac. 我从我的Mac连接到数据库(mssql)时遇到问题。 I have already installed freetds and dblib with homebrew ad they should be working but my phpinfo() says this: 我已经安装了freetds和dblib以及自制软件,它们应该可以工作,但是我的phpinfo()表示:

 '--enable-pdo' '--with-pdo-sqlite' '--with-pdo-mysql=mysqlnd' '--with-readline=/usr/local/readline-6.2' '--with-libedit' '--with-pdo-pgsql' '--with-iconv' '--with-sqlite3' '--disable-phar' '--enable-xmlwriter' '--enable-xmlreader' '--enable-mysqlnd' 

After this, in a lone section: 之后,在一个单独的部分中:

Additional .ini files parsed: /usr/local/zend/etc/conf.d/pdo_dblib.ini, /usr/local/zend/etc/conf.d/mssql.ini,

And then: 接着:

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

 mssql
 MSSQL Support  enabled
 Active Persistent Links    0
 Active Links   0
 Library version    FreeTDS 

I can't understand if the library is effectively enabled as connecting with the following configuration gives me the following error: 我无法理解该库是否已有效启用,因为使用以下配置进行连接会导致以下错误:

 resources.db.adapter = pdo_mssql
 resources.db.isDefaultAdapter = true
 resources.db.params.host = "host"
 resources.db.params.port = "port"
 resources.db.params.username = "un"
 resources.db.params.password = "pw"
 resources.db.params.dbname = "name"
 resources.db.params.pdoType = dblib
 resources.db.params.charset= "utf-8"

Error: 错误:

 SQLSTATE[] (null) (severity 0) 

From ##zftalk channel on freenode: 从freenode的## zftalk频道:

 thats usually what you get when you use pdo->lastError() when no error has actually happened

This is my mssql support in PHPinfo() 这是我在PHPinfo()中对mssql的支持

 MSSQL Support  enabled
 Active Persistent Links    0
 Active Links   0
 Library version    FreeTDS

 Directive  Local Value Master Value
 mssql.allow_persistent On  On
 mssql.batchsize    0   0
 mssql.charset  no value    no value
 mssql.compatability_mode   On  On
 mssql.connect_timeout  5   5
 mssql.datetimeconvert  On  On
 mssql.max_links    Unlimited   Unlimited
 mssql.max_persistent   Unlimited   Unlimited
 mssql.max_procs    Unlimited   Unlimited
 mssql.min_error_severity   10  10
 mssql.min_message_severity 10  10
 mssql.secure_connection    On  On
 mssql.textlimit    Server default  Server default
 mssql.textsize Server default  Server default
 mssql.timeout  60  60  

Check your freetds configuration and resources.db.params.host = "host" setting 检查您的freetds配置和resources.db.params.host = "host"设置

While ago I used this configuration to connect with php 5/ZF 1.x on RHEL - but maybe will help. 前一阵子,我使用此配置与RHEL上的php 5 / ZF 1.x连接-也许会有所帮助。 host is address of SQL Server and [my-server-name] is just section name in config file. host是SQL Server的地址, [my-server-name]只是配置文件中的节名称。

/usr/local/etc/freetds.conf
[my-server-name]
host = 10.0.0.1
port = 1433
tds version = 8.0

and then in app.ini I used (host == configuration entry in freetds.conf) 然后在app.ini中我使用了(freetds.conf中的host ==配置项)

db.config.host      = my-server-name
db.config.username  = user
db.config.password  = pass
db.config.dbname    = DBNAME

(my app.ini db.config entries should correspond to your resources.db.params ) (我的app.ini db.config条目应对应于您的resources.db.params

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM