谢谢你的参与。
我是想用java程序实现。
希望能给出程序片断。

解决方案 »

  1.   

    难,没有用户和密码,又不知道端口(有可能不用1433),还不知道IP,都去循环测试,和黑客工具差不多。不知道AD在这方面有没有帮助,对network admin是刚入门
      

  2.   

    你在widows命令提示浮中(Dos界面)打入osql -L命令就可以得到局域网内的SQLSERVER数据库服务器了
    你想在java中实现,需要执行命令.
    try{
    String commmand="osql -L";
    Process child=Runtime.getRuntime.exec(command);
    然后读取这条命令的输出,就是局域网内的SQLSERVER数据库服务器了
    InputStream in=child.getInputStream();
    int c;
    while((c=in.read())!=-1){
      process((char)c);
    }
    in.close();
    }catch(IOException e){}
      

  3.   

    在dos中试了一把,提示
    密码:
    输入后
    用户 'Administrator' 登录失败。
    why?
      

  4.   

    学习...
    TO mtou(逆风)
    怎么我的机器打了 osql -L 没有显示出我的LAN中的两台SQLServer? 一个是Sqlserver2000EE,另一个是sqlserver2000DE.是否必须"客户端网络实用工具"中的TCP/IP端口不能更改才行?
    而且,如果运行java程序的机器没有装sqlserver,也没有装客户端工具,osql是不是就不能执行了?呵呵
      

  5.   

    mtou(逆风) :
       你好!在请教一下,osql是不是windows的命令,这样写出来的程序,可以保证跨平台吗?
      

  6.   

    TO mtou(逆风)
    sorry, 多执行了几次,现在可以看见了。
    不错,谢谢!
      

  7.   

    首先你要保证本地Server服务已经启动,第二是osql不是isql,第三是L不是l
      

  8.   

    没有安装sqlserver本身或者客户端工具的,没有osql这个命令的
      

  9.   

    osql是windows,不能跨平台,sqlserver也只能运行在windows中啊:)
      

  10.   

    我是想在程序里实现这样的功能,但我的程序选用java实现,是要跨平台的。
    谢谢逆风,分一定有你的。
      

  11.   

    我的基本想法是用Socket测试局域网内部机器的端口(1433或指定),但是我这样做,速度太慢,主要是没有SQLSERVER的机器连接太慢。
    不知道我该怎样做才好,请各位赐教!
      

  12.   

    用多现程好了,同时检查,再说了既然没有SQLSERVER的机器连接太慢,那就把连接的timeout改的很小好了
      

  13.   

    我用的是Socket(String host, int port)构造函数,它构造了一个连接的Socket,在我设置timeout之前,它已经连接了,我该怎么办?