VB得到网絡中可用的SQL服務器列表

原创 2007年10月09日 09:43:00
得到网絡中可用的SQL服務器列表 
  
  'RETCODEs 
  Private   Const   SQL_ERROR   As   Long   =   -1& 
  Private   Const   SQL_INVALID_HANDLE   As   Long   =   -2& 
  Private   Const   SQL_NEED_DATA   As   Long   =   99& 
  Private   Const   SQL_NO_DATA_FOUND   As   Long   =   100& 
  Private   Const   SQL_SUCCESS   As   Long   =   0& 
  Private   Const   SQL_SUCCESS_WITH_INFO   As   Long   =   1& 
  
  'SQLError   defines 
  Private   Const   SQL_NULL_HENV   As   Long   =   0& 
  Private   Const   SQL_NULL_HDBC   As   Long   =   0& 
  Private   Const   SQL_NULL_HSTMT   As   Long   =   0& 
  
  Declare   Function   SQLAllocConnect   Lib   "odbc32.dll"   (ByVal   henv   As   Long,   _ 
                                    phdbc   As   Long)   As   Integer 
  Declare   Function   SQLAllocEnv   Lib   "odbc32.dll"   (phenv   As   Long)   As   Integer 
  Declare   Function   SQLBrowseConnect   Lib   "odbc32.dll"   (ByVal   hdbc   As   Long,   _ 
                                    ByVal   szConnStrIn   As   String,   ByVal   cbConnStrIn   As   Integer,   _ 
                                    ByVal   szConnStrOut   As   String,   ByVal   cbConnStrOutMax   As   Integer,   _ 
                                    pcbconnstrout   As   Integer)   As   Integer 
  Declare   Function   SQLDisconnect   Lib   "odbc32.dll"   (ByVal   hdbc   As   Long)   As   Integer 
  Declare   Function   SQLError   Lib   "odbc32.dll"   (ByVal   henv   As   Long,   ByVal   hdbc   As   Long,   _ 
                                    ByVal   hstmt   As   Long,   ByVal   szSqlState   As   String,   pfNativeError   As   Long,   _ 
                                    ByVal   szErrorMsg   As   String,   ByVal   cbErrorMsgMax   As   Integer,   _ 
                                    pcbErrorMsg   As   Integer)   As   Integer 
  Declare   Function   SQLFreeConnect   Lib   "odbc32.dll"   (ByVal   hdbc   As   Long)   As   Integer 
  Declare   Function   SQLFreeEnv   Lib   "odbc32.dll"   (ByVal   henv   As   Long)   As   Integer 
  
  Public   Function   StServerList()   As   String 
      On   Error   Resume   Next 
      Dim   rc                 As   Integer 
      Dim   henv             As   Long 
      Dim   hdbc             As   Long 
      Dim   stCon           As   String 
      Dim   stConOut     As   String 
      Dim   pcbConOut   As   Integer 
      Dim   ichBegin     As   Integer 
      Dim   ichEnd         As   Integer 
      Dim   stOut           As   String 
          
      Const   COMMA   As   String   =   "," 
          
      rc   =   SQLAllocEnv(henv) 
      rc   =   SQLAllocConnect(ByVal   henv,   hdbc) 
      stCon   =   "DRIVER=SQL   Server" 
          
      'Get   the   size   of   the   buffer   to   create   and   create   it 
      rc   =   SQLBrowseConnect(ByVal   hdbc,   stCon,   Len(stCon),   stConOut,   _ 
                Len(stConOut)   +   2,   pcbConOut) 
      stConOut   =   String$(pcbConOut   +   2,   vbNullChar) 
          
      'Get   the   actual   server   list 
      rc   =   SQLBrowseConnect(ByVal   hdbc,   stCon,   Len(stCon),   stConOut,   _ 
                Len(stConOut)   +   2,   pcbConOut) 
          
      If   (rc   <>   SQL_SUCCESS)   And   (rc   <>   SQL_NEED_DATA)   Then 
            'ignore   the   errors   if   any   occur 
      Else 
            'Parse   out   the   server   list 
            ichBegin   =   InStr(InStr(1,   stConOut,   "server="),   stConOut,   "{",   vbBinaryCompare) 
            stOut   =   Mid$(stConOut,   ichBegin   +   1) 
            ichEnd   =   InStr(1,   stOut,   "}",   vbBinaryCompare) 
            StServerList   =   Left$(stOut,   ichEnd   -   1) 
      End   If 
  
      'Disconnect,   free   the   connection   handle,   then 
      'free   the   environment   handle. 
      rc   =   SQLDisconnect(hdbc) 
      rc   =   SQLFreeConnect(hdbc) 
      rc   =   SQLFreeEnv(henv) 
  End   Function 
  
  Private   Sub   Form_Load() 
      MsgBox   StServerList 
  End   Sub 
  

VB程序设计入门基础

VB入门基础。
  • 2017年09月11日 21:04

用API得到局域网中可用SqlServer服务器列表

无意中找到了以前的一个C#程序,觉得好用发到这里以便和大家共享一下,其实这个代码我是抄别人过来的,原作者不详,觉得写的好就和大家共享一下了程序实现了用API来得到SqlServer服务器列表的功能,我...
  • hbxtlhx
  • hbxtlhx
  • 2005-02-04 15:56:00
  • 2027

在不同SQL服务器上的数据库之间表记录的复制(sql语句实现)

在不同SQL服务器上的数据库之间表记录的复制(sql语句实现) 现有服务器server1,server2,server1上有数据库db1,server2上有数据库db2,db1上有数据表table1,...
  • wangpeixian
  • wangpeixian
  • 2008-08-26 15:35:00
  • 1217

获取系统可用串口列表

  int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)    {        CRegKey Reg...
  • ljx0305
  • ljx0305
  • 2008-03-22 09:56:00
  • 2488

手把手教你轻松优化ADSL

  • 2012年01月05日 17:52
  • 28KB
  • 下载

NetRadio 3.0.1.3

  • 2010年02月16日 21:16
  • 2.25MB
  • 下载

C#列出局域网中可用SQL Server服务器(续)

上一篇文章展示了使用COM对象如何列出局域网中的 SQL Server服务器信息,后来还发现在.Net中有现成的类可用,而不需要使用不太熟悉的COM对象了,这样岂不是更好?下面我把代码展示给大家:us...
  • zhoufoxcn
  • zhoufoxcn
  • 2007-05-25 18:23:00
  • 2803

操作系统与网络实现 之十八(甲)

网络运行实验 讲到网络,别人都是吞吞吐吐,欲语还羞的,从这里开始,我们就为大家揭开这层神秘的面纱。 目前我们对网络连接一无所知,概念上也没有一个具体的认识,只有自己...
  • ya20151015
  • ya20151015
  • 2016-11-03 16:20:17
  • 203

硬件网絡

這是我的第一篇日誌。我是一個在學硬件网絡的學生,這個學期要學微軟的課程,希望的不要太難啊!!用手機寫的就愛這樣吧!:O _:-"...
  • a330124
  • a330124
  • 2010-08-21 11:39:00
  • 142

Android之网络Http之判断是否连接服务器

1.采用Http方式: public boolean isConnByHttp(){ boolean isConn = false; URL url; ...
  • u012573920
  • u012573920
  • 2014-02-14 10:20:04
  • 1486
收藏助手
不良信息举报
您举报文章:VB得到网絡中可用的SQL服務器列表
举报原因:
原因补充:

(最多只允许输入30个字)