php mysql本地连接_php 远程或本地连接sql server 数据库

连接本地sql server 2005:

步骤:

1. 首先按通常做法配置好PHP5连接MS SQL Server

2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip(这步很重要)

3. 覆盖 apache2.2.6\bin\ntwdblib.dll

4. 覆盖 php5.2.5\ntwdblib.dll

5. 配置php

打开php.in将

extension=php_mssql.dll的注释符号去掉。

打开php.in将mssql.secure_connection = Off改为on

将php_mssql.dll拷贝到php.in中extension_dir

指定的目录或者系统system32目录下。(php_mssql.dll在php的压缩安装包中有)

6. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议

Protocols

7. 允许命名管道 "named pipes" 和 "tcp/ip"

8. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"

9. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433

10. 重启 SQL Server、Apache和PHP

使用以下方式连接MS SQL Server 2005:

mssql_connect('localhost', USERNAME, PASSWORD);

连接远程sql server 2005:

下面找摘抄别的人,请谅解,必须有用才复制的

◆1.数据库引擎没有启动。有两种启动方式:

(1)开始->程序->Microsoft SQL Server

2005->SQL Server

2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database

Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;

(2) 可打开:开始->程序->Microsoft SQL

Server 2005->配置工具->SQL Server

Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER)

,并单击工具栏中的"启动服务"按钮把服务状态改为启动;

使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server

2005配置管理器"中的SQL Server

2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了.

◆2.是否已经允许远程连接。这个部分可以简单的分为4个方面,分别是在 SQL Server上启用远程连接、启用SQL

Server 浏览服务、在Windows 防火墙中为SQL Server 2005 创建例外和在Windows

防火墙中为“SQLBrowser”创建例外。下面是几个具体的操作方式:

在SQLServer 实例上启用远程连接

◆1.指向“开始->程序->Microsoft SQL Server

2005->配置工具->SQL Server 外围应用配置器”

◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”

◆3.然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”,

再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:

“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回

◆4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,

然后单击“启动”,重新启动MSSQLSERVER 服务。

启用SQLServer 浏览器服务

◆1.指向“开始->程序->Microsoft SQL Server

2005->配置工具->SQL Server 外围应用配置器”

◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”

◆3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”,

再单击“启动”,单击“确定”按钮返回

在Windows 防火墙中为“SQL Server 2005”创建例外

◆1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”

◆2.在“添加程序窗口”中单击“浏览”

◆3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\

MSSQL.1 \MSSQL\Binn\sqlservr.exe”, 单击“确定”返回

注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1

是占位符,对应数据库实例ID。

◆4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。

在Windows 防火墙中为“SQLBrowser”创建例外

◆1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”

◆2.在“添加程序窗口”中单击“浏览”

◆3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL

Server\90\Shared\sqlbrowser.exe”, 单击“确定”返回

注意 :路径可能会根据 SQL Server 2005 安装不同而不同。在使用.NET开发进行时,会遇到使用连接字符串连接SQL

Server 2005数据库使用机器名称和localhost都能连接,但是使用IP地址却不能连接的问题,解决的办法是在SQL

Server实例上启用本地和远程连接,并且在选择协议的时候使用TCP/IP和命名管道服务即可解决。

上面是对服务器的配置,我遇到的问题是配置之后还是只能连接本地的sql server不能连接远程的

我之前忽悠了我前面说的很重要的那一步,弄了半天还是不行,把那个替换掉之后,如果你可以正常连接那就没有问题,不过我的报了如下错误:Warning:

mssql_connect() [function.mssql-connect]: message: 用户 'NT

AUTHORITY\ANONYMOUS LOGON' 登录失败。 (severity 14)

这个很好解决,是php.ini中的配置问题,修改方法是把php.ini中的mssql.secure_connection =

On 改为 mssql.secure_connection =

Off,但是有人说这样会存在安全问题,我不清楚究竟是怎样,反正修改之后重启下apache,就可以正常连接数据库和读取数据了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值