打印本文 打印本文 关闭窗口 关闭窗口
获取SQL Server服务器列表的几种方法
作者:武汉SEO闵涛  文章来源:敏韬网  点击数7443  更新时间:2007/11/14 11:03:53  文章录入:mintao  责任编辑:mintao
描述:网络服务函数,存在于NetApi32.dll文件中;通过NetServerEnum函数可取得装有SQL Server服务端的计算机列表,只装有SQL Server客户端的计算机将不会被列举其中;如果一台计算机的SQL Server服务刚刚启动,那么此函数将会过很久才能取到该计算机。

列表类型:仅列举装有“服务端”的计算机。

适用条件:有NetApi32.dll文件。

速度:快

调用示例:GetSQLServerList(ListBox1.items);

代码:

type

  NET_API_STATUS = DWORD;

 

  PServerInfo100 = ^TServerInfo100;

  _SERVER_INFO_100 = record

    sv100_platform_id: DWORD;

    sv100_name: LPWSTR;

  end;

  {$EXTERNALSYM _SERVER_INFO_100}

  TServerInfo100 = _SERVER_INFO_100;

  SERVER_INFO_100 = _SERVER_INFO_100;

  {$EXTERNALSYM SERVER_INFO_100}

 

const

  NERR_Success = 0;

  MAX_PREFERRED_LENGTH = DWORD(-1);

  SV_TYPE_SQLSERVER    = $00000004;

 

function NetApiBufferAllocate(ByteCount: DWORD; var Buffer: Pointer):

  NET_API_STATUS; stdcall; external ''''netapi32.dll'''' name ''''NetApiBufferAllocate'''';

 

function NetServerEnum(ServerName: LPCWSTR; Level: DWORD; var BufPtr: Pointer;

  PrefMaxLen: DWORD; var EntriesRead: DWORD; var TotalEntries: DWORD;

  ServerType: DWORD; Domain: LPCWSTR; ResumeHandle: PDWORD): NET_API_STATUS;

  stdcall; external ''''netapi32.dll'''' name ''''NetServerEnum'''';

 

function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall; external

''''netapi32.dll'''' name ''''NetApiBufferFree'''';

 

function GetSQLServerList(var AList: TStrings; pwcS

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页

打印本文 打印本文 关闭窗口 关闭窗口