[英]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.