vb.net - VB.NET:如何获取 Windows 10 中的 SQL 服务器名称和实例名称?
问题描述
此启动表单用于获取 SQL Server 名称和实例名称:
Private Sub GetServerList()
Try
Dim Server As String = String.Empty
Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance
Dim cmbServers = New ComboBox
Dim table As DataTable = instance.GetDataSources()
For Each row As DataRow In table.Rows
Server = String.Empty
Server = row("ServerName")
If row("InstanceName").ToString.Length > 0 Then
Server = Server & "\" & row("InstanceName")
End If
cmbServers.Items.Add(Server)
Next
cmbServers.SelectedIndex = cmbServers.FindStringExact(Environment.MachineName)
My.Settings.ServerName = cmbServers.Text
My.Settings.Save()
Catch ex As Exception
MessageBox.Show("Cannot connect to the Server", "SMALLER", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
主要问题是组合框中没有显示服务器名称或实例名称,我自己检查Msgbox(cmbServers.Text)
过,结果为空白。而对于其他版本的 Windows(7、8、8.1)则没有问题...
我也读过一篇类似的帖子,其中一个解决方案指出您必须启用 SQL Server Browser 服务,我已经打开了上述服务,但仍然没有运气......
解决方案
推荐阅读
- angular - 电子 JS + Angular 项目中的“非 JavaScript MIME 类型”错误
- hyperledger-fabric - 找不到 Fabric CA 的特定 SDK 功能
- macos - 为什么我有两个版本的 sqlite?
- wordpress - Woocommerce 使用塞浦路斯银行的信用卡付款
- php - 如何在不弄乱代码的情况下在 div 中显示特殊字符?
- sql-server - 如何从链接的临时表中选择到本地临时表?
- android - 警告:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'
- javascript - 分割图像时的Html2Canvas drawImage质量损失
- python - Airflow:存储机器学习模型
- python - 在 sympy 中创建块带对角矩阵