代码 $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用户才能登陆呢?请各位帮帮忙

解决方案 »

  1.   

    试过使用ip,也试过 (ip,端口)
    这些链接方式中,如果是本地的数据库都能通过,但如果是局域网的就不能了。
    这个局域网内,这些配置我用了几种语言编写cs都能通过,vb、delphi、pb都能测试通过。
    是web用户权限的问题嘛?
      

  2.   

    楼主是用 PHP 连接 SQL SERVER?需要配置php.ini的,将 ;extension=php_mssql.dll前面的分别去掉默认不加载任何扩展库的
      

  3.   

    谢谢你的回答
    如果我没有加这个配置的话,php链接本地mssql是测试不通过的。
    我现在的情况是:php能链接本地的mssql,但链接不了局域网内其它电脑的mssql
      

  4.   

    MsSQL那几个局域网的,不支持远程连接(为了安全),只允许本地文件调用,就像MySQL那样,要设置一下MsSQL,允许外部连接。
      

  5.   

    如何允许mssql外部链接呢?步骤: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. 运行 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);
    这个我也试过,本机测试通过,局域网也是不行的
      

  6.   

    还有,这两个我也设置了,也是不行
    mssql.secure_connection = On
    extension_dir = 
      

  7.   

    好像之前我也遇到过这种问题。你直接用sqlserver的图形画界面中 能否通过本机访问其他的电脑呢
      

  8.   

    这是可以的应该不是防火墙问题,因为用mssql的‘企业管理器’可以连接
      

  9.   

    又试了好几种办法,还是不行。是什么原因呢?
    难道是iis中的php不完全支持mssql?
      

  10.   

    告诉大家一个好消息,我自己解决问题了。是php.ini的原因。
    网上的教程是这样的‘mssql.secure_connection = On’,本地链接正常。
    但,对于链接局域网的服务器这种配置是不正确的,应该是mssql.secure_connection = Off。
    感谢楼上的各位