如何提取SQL服务器组中可用SQL服务器的列表?我打算把这个列表放在VB.NET的组合框中。获取SQL服务器组中可用服务器的列表
3
A
回答
5
我知道这是使用命令行做的唯一方法:
osql -L
但我发现下面的文章,这似乎解决您的具体目标填充组合框:
0
在C#中我使用过调用odbc32.dll
例如:
[DllImport("odbc32.dll", CharSet = CharSet.Ansi)]
private static extern short SQLBrowseConnect(
IntPtr hconn, StringBuilder inString,
short inStringLength, StringBuilder outString, short outStringLength, out short
outLengthNeeded);
文档该功能是MSDN
5
如果你不想被捆绑到SQL SMO,这是Ben的文章使用,你可以做这样的事情,以发现网络上的所有SQL服务器:
Private Sub cmbServer_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbServer.DropDown
Dim oTable As Data.DataTable
Dim lstServers As List(Of String)
Try
If cmbServer.Items.Count = 0 Then
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
oTable = System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources
For Each oRow As DataRow In oTable.Rows
If oRow("InstanceName").ToString = "" Then
cmbServer.Items.Add(oRow("ServerName"))
Else
cmbServer.Items.Add(oRow("ServerName").ToString & "\" & oRow("InstanceName").ToString)
End If
Next oRow
End If
Catch ex As Exception
ErrHandler("frmLogin", "cmbServer_DropDown", ex.Source, ex.Message, Ex.InnerException)
Finally
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
If oTable IsNot Nothing Then
oTable.Dispose()
End If
End Try
End Sub
的SqlDataSourceEnumerator类是不错的,因为它可以让你的SQL服务器发现右出的2.0框架。
相关问题
- 1. 从sql表列中的服务器路径获取服务器名称
- 2. SQL服务器获得父列表
- 3. 获取一组服务器的LocalAdmins服务器
- 4. 获取服务器列表的特定服务恢复选项
- 5. 表中的SQL服务器
- 6. SQL Select基于可用服务器/表
- 7. 如何获取SQL服务器触发器中已更新列的列表?
- 8. SQL服务器:链接服务器没有链接服务器?
- 9. SQL服务器
- 10. SQL服务器
- 11. SQL服务器
- 12. SQL(服务器):
- 13. SQL服务器分组列值
- 14. 在MySQL服务器中链接MS SQL服务器表
- 15. 无法获取SQL服务器名称
- 16. C#web服务从sql服务器获取数据
- 17. 获得从列在SQL服务器
- 18. SQL服务器选择列
- 19. 列检查SQL服务器
- 20. SQL服务器使1列
- 21. 更新列SQL服务器
- 22. SQL服务器采取行1列写
- 23. 如何从SQL服务器获取SharePoint列表
- 24. 从应用服务器获取WebServer中的文件列表
- 25. Eureka获取服务列表
- 26. 如何使用OUTPUT获取身份列的值 - SQL服务器
- 27. SQL服务器 - 两个表
- 28. sql服务器设计表
- 29. SQL服务器映射表
- 30. SQL服务器 - 从表
该文章似乎不再工作:( – mrc 2016-05-09 08:48:33