php连接sqlserver2008失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php连接sqlserver2008失败相关的知识,希望对你有一定的参考价值。

连接失败
rray ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 [message] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 ) )

这个是提示你没有安装MSSQl 2012的驱动扩展。
从Sql Server 2008开始,不再支持php自带的驱动程序,需要使用微软提供的驱动程序。此驱动程序抛弃了mssql系列函数,只能使用sqlsrv和pdo的方式进行连接操作。

步骤1:下载微软Sql Server官方驱动程序,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098

步骤2:安装Sql Server的驱动扩展
将下载好的exe程序打开,解压会释放出很多.dll文件,将对应的dll文件拷贝到你的php扩展包目录下的ext目录。

解压得到的dll文件中文件名的数字部分(例如52,53)代表对应不同的PHP版本,文件名中带n的为非线程安全的,文件名中的vc对应的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。

首先,需要确定你的PHP的版本,假设PHP的版本为5.3.x
其次,要确定你的PHP运行的是线程安全的还是非线程安全的(假设线程安全)。
另外,还需要确认的版本(假设Apache2.2)。

那么,你对应的文件应当是php_pdo_sqlsrv_53_ts_vc6.dll(PDO链接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv链接),将这两个文件拷贝到你的PHP的扩展包下的ext目录,然后要修改php.ini,增加这两项扩展的支持:
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
保存后重启Apache即可。
参考技术A 不都已经告诉你了么...没发现这个数据库驱动程序...
你到微软网站找找类似驱动, 或者开发包之类的. 不都给你连接了么?
参考技术B 这段代码,呵呵,看的头大,看看官方有没有连接的代码,一般链接数据库都没那么难,代码都是固定模式 参考技术C 下载php for mssql的拓展。然后使用这个拓展库就可以了

PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用

参考技术A 方法:
1。
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysql>use
mysql;mysql>update
user
set
host
=
'%'
where
user
=
'root';mysql>select
host,
user
from
user;
2.
授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
grant
ALL
PRIVILEGES
ON
*.*
to
'myuser'@'%'
IDENTIFIED
by
'mypassword'
with
grant
option;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;

以上是关于php连接sqlserver2008失败的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 2008远程连接失败,也搜索了不少内容

数据源 连接失败

sqlserver2008无法连接

java连接sql server 2008 失败 报错信息如下:

Linux环境PHP5.5以上连接SqlServer2008

windows下php连接sqlserver2008