PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环境。
首先说明下,服务器的系统版本为SUSE Linux Enterprise Server 10 SP3。
1. 安装FreeTDS
地址:FreeTDS
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
PHP连接MSSQL2008/2005数据库与以往的连接mssql2000是不一样的,连接mssql2008/2005是需要自己添加PHP对MSSQL连接的驱动扩展了,而我们常用的hp.ini中的extension=php_mssql.dll扩展只适用连接于MSSQL2000,下面我们就来看看对此的解决办法
1.下载扩展
(1)去官方下载一个SQL Server Driver for PHP的扩展包,我是在这里下载的http://www.microsoft.com/en-us/download/details.aspx?id=20098【记得下载后好像是要先安装然后再解压】
(2)将下载下来的rar文件解压后你就会得到一堆的.dll文件
下载驱动程序,下载后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
按正常情况,在Win8/Win8.1系统下安装微软的SQL Server 2005套件会存在兼容问题,即使安装完,最后的结果就是导致其服务项无法正常启动。
如果用户创建使用的项目非要按照SQL Server 2005的标准进行运行和调试情况下,那如何才能在微软最新的Windows8/Windows 8.1下正常使用SQL Server 2005套件呢?下面小编就简单介绍利用文件替换法,解决其服务项无法正常启动的临时方案。当然还是建议使用SQL Server 2008以上的数据库,毕竟现在SQL Server 2012版本都发行一年多了。
具体操作步骤:以选择安装64位的数据库开发版套件为例。
1、正常安装任一版本的SQL Server 2005(最好安装企业版,一般非服务器的电脑请按照:开发版)。
2、安装到SqlServer服务的时候提示启动服务失败(提示重试的时候),这里就是关键啦,下载本文的两个附件里面是SP4(2005.90.5000.0)版本的sqlservr.exe和sqlos.dll。
突然访问网站出现这个错误:”未能为数据库 'sq_camnprdb' 中的对象 'ap_online' 分配空间,因为文件组 'PRIMARY' 已满。“
问题出现的原因: 网站垃圾信息天天有,没有清理过,本来数据库空间就很有限!
问题:后台添加文章时出现如下错误:
Microsoft OLE DB Provider for SQL Server 错误 '80004005'
批量修改:
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
单个修改:
exec sp_changeobjectowner '要改的表名','dbo'
只有所有者才能更改表的所有者
有很服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
...
1.修改php.ini将extension=php_mssql.dll的注释删除保存。
修改php.in将mssql.secure_connection = Off改为mssql.secure_connection = On。
2.下载连接2005的 ntwdblib.dll (2000.80.194.0)
我们本地有时候有多个数据库版本(^_^。。别说了都是泪),都是为了兼容不同版本的数据而安装的!
最近我们需要用IP来访问,就有了这一段折腾的历程。
上图片为我安装的三个不同的版本,一个为sql server 2005 , sql server 2008,sql server 2008 r2 安装过程是先安装的sql 2005用的是默认实例,08 和 08 R2都是自定实例名。
sql server 2005是可以用(我本机I
登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用。
远程,连接MSSQL2008时提示:
登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用。
请问这个怎么解决?
------解决方案--------------------
一个是sql服务器域名有问题,
要么用混合登录试试。
------解决方案--------------------
检查连接字符串
在数据库里看看sa能不能登陆
是不是混合连接 而不只是WINDOW
你还能够使用aspnet_regiis.exe命令行工具来加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%\Microsoft.Net\Framework\version"目录下找到这个工具。为了加密Web.config文件中的一个节,你可以在这个命令行工具中使用DPAPI机器密钥,如下所示:
加密一个特定网站的Web.config文件的通用形式:
...