如何找到NT-Server?(100分)

  • 主题发起人 主题发起人 kingtiger
  • 开始时间 开始时间
K

kingtiger

Unregistered / Unconfirmed
GUEST, unregistred user!
各位仁兄:
我在写C/S程序,客户端要登录SQL-Server.
我不想在程序中指定nt-server(Sql-Server)的名称,
是否可以在客户端程序运行时列出局域网中所有SQL-server服务器。
小弟奉献100大洋。
 
我只能找到计算机名,是不是NT,天知道
 
试试Lan Manager控件吧,有源码和例子:

http://www.wilsonc.demon.co.uk/Delphi%20Components/lanman/lanman.zip

 
不是找 Sql-Server 服务器吗?

怎么都在找 nt 机器名?
 
其实机器名就是Sql-Server 服务器名
 
一个局域网有不少 nt 服务器呢。
 
我认为通过netbios名字或者server service类型肯定能判断
出哪些是NT计算机。
怎么判断sql server就不知道了。
 
无论nt_server,还是nt_workstation,都可以作为sql_server,,可以告诉你
nt的机器名就是server的名称,,二者相同
 
不能用odbc吗?
 
对一个网段的sql server运行的端口进行扫描。
NT server会有特殊的ip头响应。再判断就可以得出那一条NT上装有sql server.
 
NET_API_STATUS NetServerEnum(
LPTSTR servername,
DWORD level,
LPBYTE *bufptr,
DWORD prefmaxlen,
LPDWORD entriesread,
LPDWORD totalentries,
DWORD servertype, //用SV_TYPE_SQLSERVER
LPTSTR domain,
LPDWORD resume_handle
);

NT下, 该函数是在netapi32.dll中, 95/98下该函数是在svrapi.dll中

详细请参考win32 help
 
多人接受答案了。
 
后退
顶部