代码 $hostname="HTSC";
$dbuser="sa";
$dbpasswd="123456";
$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");如果是本地的mssql数据库,则链接通过。但,如果链接局域网内另外一台机器就不行了。错误信息为:
Warning: mssql_connect() [function.mssql-connect]: message: 用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。 (severity 14)我试了很多办法都不行:
1、SQL Server 和Windows 用混合模式
2、除了sa以外,也试过添加其它用户(具备所有权限)进行链接
3、telnet ip 1433 测试通过
4、数据库都是sql2000 sp4的
5、试过换了几台电脑
6、用sql2000的ntwdblib.dll覆盖了php5的文件另外,我用vb编写的代码是能正常访问另外一台mssql服务器的。
查看了一下,mssql的用户中,有一个aspnet的用户,是否要添加一个类似的php用户才能登陆呢?请各位帮帮忙
$dbuser="sa";
$dbpasswd="123456";
$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");如果是本地的mssql数据库,则链接通过。但,如果链接局域网内另外一台机器就不行了。错误信息为:
Warning: mssql_connect() [function.mssql-connect]: message: 用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。 (severity 14)我试了很多办法都不行:
1、SQL Server 和Windows 用混合模式
2、除了sa以外,也试过添加其它用户(具备所有权限)进行链接
3、telnet ip 1433 测试通过
4、数据库都是sql2000 sp4的
5、试过换了几台电脑
6、用sql2000的ntwdblib.dll覆盖了php5的文件另外,我用vb编写的代码是能正常访问另外一台mssql服务器的。
查看了一下,mssql的用户中,有一个aspnet的用户,是否要添加一个类似的php用户才能登陆呢?请各位帮帮忙
这些链接方式中,如果是本地的数据库都能通过,但如果是局域网的就不能了。
这个局域网内,这些配置我用了几种语言编写cs都能通过,vb、delphi、pb都能测试通过。
是web用户权限的问题嘛?
如果我没有加这个配置的话,php链接本地mssql是测试不通过的。
我现在的情况是:php能链接本地的mssql,但链接不了局域网内其它电脑的mssql
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. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
6. 允许命名管道 "named pipes" 和 "tcp/ip"
7. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"
8. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433
9. 重启 SQL Server、Apache和PHP使用以下方式连接MS SQL Server 2005:
mssql_connect('localhost,1433', USERNAME, PASSWORD);
这个我也试过,本机测试通过,局域网也是不行的
mssql.secure_connection = On
extension_dir =
难道是iis中的php不完全支持mssql?
网上的教程是这样的‘mssql.secure_connection = On’,本地链接正常。
但,对于链接局域网的服务器这种配置是不正确的,应该是mssql.secure_connection = Off。
感谢楼上的各位