在登陆sql server前什么列举出sql server的名字???

ostratnet8086 2005-05-18 12:24:01
我在网上曾经找过这样的贴子,我用的vb.net WIN2003 代码是这样写的

Sub down()
Dim objSQLApp As New SQLDMO.Application
Dim objNameList As SQLDMO.NameList
Dim intCount As Integer

For intCount = 1 To objSQLApp.ListAvailableSQLServers.Count
list2.Items.Add(objSQLApp.ListAvailableSQLServers.Item(intCount))
Next

因为不行的原因我稍微该了些地方,这段代码在 WIN2000+VB6的情况下可以
我运行他是这样提示的
未处理的“System.InvalidCastException”类型的异常出现在 WindowsApplication1.exe 中。

其他信息: 接口 SQLDMO.NameList 的 QueryInterface 失败。

出错行

For intCount = 1 To objSQLApp.ListAvailableSQLServers.Count

请高手指点
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ostratnet8086 2005-05-18
  • 打赏
  • 举报
回复
SQLDMO我已经引用,关键是他到for那行就错,下面的判断写不写有什么关系呢。我还发现一个问题 就是我的.NET自己都不能列举出局域网中的服务器,提示
错误枚举数据服务器。枚举报告“未指定的错误”
想这样的话 我想连.NET都不能枚举,那我的也一定不行拉。可是以前我的.NET枚举数据服务器的时候没问题啊,不知道是哪天开始出问题了。
关于楼上的朋友提到的哪个C#的枚举我也弄了个试试也不行,同样的错误。
还是谢谢各位楼上的朋友了。呵呵
baiyashan 2005-05-18
  • 打赏
  • 举报
回复
我问一个问题好么?怎么进入小类社区啊?
哥是龙王 2005-05-18
  • 打赏
  • 举报
回复
http://search.csdn.net/Expert/topic/2293/2293401.xml?temp=.3056452
hamadou 2005-05-18
  • 打赏
  • 举报
回复
呵呵,怎么我的就没出错啊?我的是2002
SmallMummy 2005-05-18
  • 打赏
  • 举报
回复
我也试了一下,也引用了,但是还是处错误了
hamadou 2005-05-18
  • 打赏
  • 举报
回复
原帖是这样的。不过你的也看不出有什么问题 。如果引用了sqldmo的话就应该没有问题了啊,你再试一下!
Dim I As Short
Dim sqlApp As New SQLDMO.Application()
Dim ServerName As SQLDMO.NameList
ServerName = sqlApp.ListAvailableSQLServers
For I = 1 To ServerName.Count
cbServer.Items.Add(ServerName.Item(I))
Next
ajieboy 2005-05-18
  • 打赏
  • 举报
回复
sqlserver有没有打补丁?没打补丁好像是不能在.net里用,只能在vb里调用
真相重于对错 2005-05-18
  • 打赏
  • 举报
回复
你装没装防火墙??
ostratnet8086 2005-05-18
  • 打赏
  • 举报
回复
补一下 我这个朋友的机器一样用的win2003+vs2003。
ostratnet8086 2005-05-18
  • 打赏
  • 举报
回复
我还是于心不干,所以我有跑到我朋友的机器上试了一小下,诶 他的就可以枚举出来,不过枚举不到我的服务器和另一个朋友的服务器,他枚举出两个,他自己的机器和其他一个朋友的机器。朋友还不少那呵呵。我写的这样的代码:
Dim sql As New SQLDMO.Application
Dim server As SQLDMO.NameList
ComboBox1.Items.Clear()
Dim i As Integer
Dim str As String
Try
server = sql.ListAvailableSQLServers()
For i = 1 To server.Count
str = server.Item(i)
If str = "" Then
ComboBox1.Items.Add("localhost")
Exit For
Else
ComboBox1.Items.Add(server.Item(i))
End If
Next
Catch ex As Exception
MessageBox.Show("错误数据服务器枚举,枚举报告'未知错误'.", "数据服务器枚举")
ComboBox1.Items.Add("localhost")
End Try
如果你枚举不出来数据服务器,那么有可能是你的系统有点问题,记得一定要引用SQLMDO啊
呵呵

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧