SQL Server 2000 安装到 xp上
测试程序的时候在 2000 上发现有的能连接数据库,有的则不能,不能连接的机器需要对SQL Server所在机器建立一个 IPC 连接才能连接数据库?何解???
开发工具为VFP 9.0

解决方案 »

  1.   

    是比较怪,你那些机器都是通过ip访问sql server吗?
      

  2.   

    如果通过“命名管道”协议连接,无论使用什么身份验证,都要求先建立“信任连接”。在工作组模式下,就是 net use \\ipaddress\ipc#。
      

  3.   

    因为这些客户端都是通过“命名管道”协议连接到 sql server 的。
      

  4.   

    SQL SERVER 2000 多协议和命名管道都要求先建立信任连接。
    在服务器端关闭“多协议”和“命名管道”,开启“tcp/ip”(在 sql server 配置管理器中设置)。客户端使用什么身份验证协议连接 sql server 的?是否都在工作组模式下?是否有镜像帐户?用 netstat.exe -anp tcp 检查一下客户端连接到 sql server 服务器的什么端口。
      

  5.   


    sql server 配置管理器在什么地方,没有找到
      

  6.   


    开始-->程序--> Micorsoft SQL Server-->服务器(客户端)网络实用工具
      

  7.   


    已经去掉了其他的,只留下TCP/IP,但还是连接不上,说的那个我也不是太明白,客户端没有安装SQL ,只是VFP 开发出来的一个 .exe文件,语法也是没有问题的,
    其实问题又回来了,xp下都没有问题,而2000系统有的有问题,有的没有问题,这才是我奇怪的地方
      

  8.   

    这些机器是通过 sql server 登陆帐户,还是通过 windows 帐户连接的?
      

  9.   

    SQL 用户con = SQLSTRINGCONNECT('driver=SQL Server;Server=168.1.1.244;uid=sa;pwd=;database=tq')
    IF con > 0
    RELEASE thisform
    DO init.prg
    RETURN
    ENDIF
    IF con < 0
    thisform.timer1.Enabled = .f. 
    MESSAGEBOX("无法连接到服务器",16,"系统提示         ")
    RELEASE thisform 
    CLEAR EVENTS
    QUIT 
    ENDIF 
      

  10.   

    客户端通过 tcp/ip 网络库,使用 sql server 登陆帐户连接,是不需要先建立信任连接的。如果可能的话,在有问题的系统上,安装 sql server 客户端,直接通过 osql.exe 连接服务器,看看行不行。
    如果也不行,只能在客户端上抓包分析一下连接过程了,从中找到线索。不过,lz 可以先在系统中重新安装一下 MDAC(客户端的数据库访问组件),看看情况如何。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=en
      

  11.   


    谢谢,已经解决,完全对比了能连接与不能连接的两台机器,在对比 ODBC 时发现SQL Server的版本不同,结果又是sp4,又是.NET ,又是用360 打其他补丁都不行,快绝望的时候从微软中国下了 MDAC 结果就可以了,这下程序 98 下也可以兼容了