你在本地用sql查询器能否连上那台机的sql-server吗?

解决方案 »

  1.   

    本地没有安装sql2000呀,但是telnet xxx.xxx.xxx.xxx 1533是可以联通的。
      

  2.   

    是否要在那台机器上的sql中建立一个用户,允许这台机器访问呢?
      

  3.   

    肯定是可以访问这台机器的。现在是A,B两台服务器,A是win2000+IIS+php4.37的web服务器,B是SQL2000服务器,现在在A上用上面的方法和代码始终无法联接到B的数据库上,但是我在自己电脑用相同的代码就可以联接的。我以前A,B是同一台服务器的时候也是没有问题的,现在分成2台后我只是改了一下@$hostname="xxx.xxx.xxx.xxx,1533";(数据库的IP地址及端口)里的IP地址(原来是127.0.0.1)就不行了,是不是在A上也要装一个SQL2000服务器的?
      

  4.   

    @$hostname="xxx.xxx.xxx.xxx,1533";(数据库的IP地址及端口)
    @$dbuser="sa";
    @$dbpassword="1234567";
    @$id=mssql_connect($hostname,$dbuser,$dbpassword) or die ("无法联接到MSSQL服务器");
    @$db=mssql_select_db("TABLE",$id) or die("无法联接MSSQL服务器");以上这串代码只字未改,在A上就是“无法联接到MSSQL服务器”,在我本机就可以。
    (A和B绝对是互通的,也能访问到1533端口,用户和权限也不会有问题,MSSQL函数也加载成功了。)
      

  5.   

    你在A机子上先装个客户端工具看看能不能连上服务器.应该不是mssql的问题
      

  6.   

    我拷贝了一个SQL的查询分析器工具isqlw到A机,发现无法联通B上的数据库,而且也无法联通其他服务器上的数据库。会不会是我的双网卡的原因?我的A,B服务器各有两个网卡:分为内网卡和外网卡。外网卡是联接到公网上的IP地址,设置有IP、子网掩码、网关、DNS;内网卡只设置了一个IP(192.168.0.X)和子网掩码(255.255.255.0),然后接到交换机上。外网可以访问和被访问,内网也可以互相ping通,我现在用mssql_connect()试着联接B上的数据库,内网IP和外网IP都试过,始终联不上。但是我在公司用相同的代码却可以联接到托管在机房的B服务器。但我觉得这种构架也应该没有问题的呀?
      

  7.   

    但是我在公司用相同的代码却可以联接到托管在机房的B服务器。连内网还是外网的ip呢?你现在又是处于什么网络环境?
    如果你在公司可以用内网ip联通,而在公司外不能用外网ip联通考虑是否是放火墙
      

  8.   

    在A服务器上安装了SQL2000后一切都正常了,不知道为啥子,郁闷ing...
      

  9.   

    你肯定没有正确加载拓展函数mssql.dll,我以前遇到过.解决如下:从"运行"输入CMD进入DOS,用cd..等达到EXTENTION的目录,然后输入
      svgr32 mssql.dll   ok!
      

  10.   

    注册dll组件应该用regsvr32,而不是svgr32但是运行regsvr32 php_mssql.dll或者regsvr32 mssql.dll都会提示“Loadlibrary("php_mssql.dll")failed-找不到提定的模块。”