在PB中如何獲取網絡中SQL服務器名

通過不可視對象oleobject建立和SQLDMO連接來取得網絡中SQL的服務器列表
具體代碼如下(可下載附件):
String ls_name
Int  li_i,li_servercount
Long  ll_status
/*避免多次點擊而生成重複記錄*/
lv_1.DeleteColumns()
lv_1.Deleteitems()
/***************************/
lv_1.Addcolumn('服務器名',left!,700)
OLEObject SQLServer,SQLName
SQLServer = Create OLEObject
SQLName = Create OLEObject
ll_status = SQLServer.ConnectToNewObject('SQLDMO.Application')
If ll_status <> 0 Then
 MessageBox('失敗','連接SQLDMO失敗')
 DESTROY SQLServer;
Else
 SQLName = SQLServer.ListAvailableSQLServers()
 li_servercount = SQLName.Count()
 For li_i = 1 To li_servercount
  ls_name = String(SQLName.Item(li_i))
  lv_1.Additem(ls_name,1)
 Next
End If
DESTROY SQLServer;
DESTROY SQLName;

附:可以通過CMD命令運行isql -L 和osql -L來查看網絡中SQL的服務器列表
有不足之處,歡迎提意見~!
(其實即非原創,也非轉載,只想和大家分享~!)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章