海东的技术资料
博客园
::
首页
:: ::
联系
::
订阅
::
管理
::
204 随笔 :: 22 文章 :: 673 评论 :: 60 Trackbacks
怎样检测网络中的电脑是否有安装SQL 2000
引用SQL DMO组件
//
取得本局域网内所有可用sql服务器名
cmbServer.Items.Clear();
try
{
SQLDMO.Application app
=
new
SQLDMO.ApplicationClass();
SQLDMO.NameList list
=
app.ListAvailableSQLServers();
int
iCount
=
list.Count;
for
(
int
i
=
0
; i
<
iCount; i
++
)
{
string
sTemp
=
list.Item(i);
if
(sTemp
!=
null
)
cmbServer.Items.Add(sTemp);
}
}
catch
{
//
如果取得SQLDMO组件出错, 则默认把本机名写进去
MessageBox.Show(
"
无法取得服务器列表,可能是缺少SDLDMO.DLL!
"
);
cmbServer.Items.Add(System.Net.Dns.GetHostName());
}
为什么我用panyee(快乐王子)的那个例子一直出现“无法取得服务器列表,可能是缺少SDLDMO.DLL”,我有这个文件啊!
如果用“http:
//
xml.sz.luohuedu.net/xml/ShowDetail.asp?id=BCEAADFB-CFF3-4804-B3B3-6C7D6488982B”里的例子也不行会出现以下信息:
"
未处理的“System.InvalidCastException”类型的异常出现在WindowsApplication1.exe 中
其他信息:接口 SQLDMO.NameList 的 QueryInterface 失败。
怎么回事,请高手帮帮忙啊!
第一,你的sql server 版本不够。
如果要使用SQLDMO.DLL就要去下载SQL sp2.
第二,如果你想列出局域网内的所有的SQl server
建议你用Sql server自带的 isql.exe 这个文件只要是sql server
6
.5以上就可以了
下面是源码:
string
fileName
=
"
C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn\\isql.exe
"
;
if
(System.IO.File.Exists(fileName))
{
System.Diagnostics.ProcessStartInfo processStartInfo
=
new
System.Diagnostics.ProcessStartInfo(fileName,
"
-L
"
);
processStartInfo.UseShellExecute
=
false
;
processStartInfo.CreateNoWindow
=
true
;
processStartInfo.RedirectStandardOutput
=
true
;
processStartInfo.RedirectStandardError
=
true
;
System.Diagnostics.Process process
=
System.Diagnostics.Process.Start(processStartInfo);
process.WaitForExit();
cboServerList.Items.Clear();
int
line
=
1
;
string
server
=
null
;
while
(process.StandardOutput.Peek()
>
-
1
)
{
server
=
process.StandardOutput.ReadLine().Trim();
line
+=
1
;
if
( line
>
6
)
{
cboServerList.Items.Add(server);
}
server
=
null
;
}
}
cboServerList.Items.Remove(System.Environment.MachineName);
cboServerList.Items.Add(
"
localhost
"
);
cboServerList是一个ComoBox
你可以现在cmd中输入isql.exe
-
? 看看参数序列中有没有你想要的
至于说列出局域网内的sql server 要输入 isql
-
L就可以了
private
void
cmbDatabase_Enter(
object
sender, System.EventArgs e)
{
//
取得某服务器上的各个表名
string
strServer
=
cmbServer.Text;
string
strUid
=
txtUid.Text;
if
(strServer.Trim()
!=
""
&&
strUid.Trim()
!=
""
)
{
string
strPwd
=
txtPwd.Text;
string
strConn
=
"
server=
"
+
strServer
+
"
;database=master;uid=
"
+
strUid
+
"
;pwd=
"
+
strPwd;
SqlConnection conn
=
null
;
try
{
conn
=
new
SqlConnection(strConn);
string
strSQL
=
"
select * from sysdatabases order by dbid
"
;
SqlDataAdapter cmd
=
new
SqlDataAdapter(strSQL, conn);
DataSet ds
=
new
DataSet();
cmd.Fill(ds,
"
Databases
"
);
cmbDatabase.Items.Clear();
for
(
int
i
=
0
; i
<
ds.Tables[
"
Databases
"
].Rows.Count; i
++
)
{
string
strDb
=
ds.Tables[
"
Databases
"
].Rows[i][
"
name
"
].ToString();
cmbDatabase.Items.Add(strDb);
}
}
catch
(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if
(conn.State
==
ConnectionState.Open)
conn.Close();
}
}
this
.Cursor
=
Cursors.Default;
}
posted on 2006-05-16 21:03
高海东
阅读(1524)
评论(2)
编辑
收藏
所属分类:
SQL SERVER 2000
评论
#1楼
2006-06-20 16:36
天轰穿
好,收藏先!
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2006-05-16 21:05 编辑过
所属分类的其他文章:
·
SQL语句对表中父子节点正向和反向取所有节点
·
精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
·
整理的一些T-sql(二)
·
怎样检测网络中的电脑是否有安装SQL 2000
·
整理了一些t-sql技巧
·
用asp.net还原与恢复sqlserver数据库(转)
·
SQL Server中的几个方法和Transact SQL 常用语句以及函数[个人推荐]
·
SQL行列转换实战
·
分页存储过程
·
两台SQL Server数据同步解决方案
最新IT新闻:
·
英特尔雅虎开发网络计算机频道
·
Windows Live视频邮件9月9日开始测试
·
Intel首次公开展示Nehalem架构迅驰3平台
·
Pogo浏览器
·
洪磊口述:番茄花园如何捆绑流氓软件月入十万
博客园新闻频道
博客园首页
社区
<
2006年5月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
公告
电子邮箱:ghd258@gmail.com MSN:
ghd258@hotmail.com
您是第
位访问者
与我联系
发短消息
搜索
我参加的小组
Web技术联盟
我参与的团队
.NET 控件与组件开发(1/1360)
广州.NET俱乐部(0/1708)
Ajax&Atlas技术团队(0/1147)
.NetFramework3.0 & 3.5(WCF,WPF,WF)团队(0/564)
微软(西安).NET开发俱乐部(0/740)
随笔分类
(216)
.Net Remoting
(rss)
ADO.NET 2.0(4)
(rss)
AJAX(1)
(rss)
ASP.NET(57)
(rss)
ASP.NET 2.0(38)
(rss)
C#(15)
(rss)
CSS(4)
(rss)
Enterprise Library (2)
(rss)
JS(21)
(rss)
NUnit(1)
(rss)
Oracle(6)
(rss)
SQL SERVER 2000(22)
(rss)
SQL SERVER 2005(11)
(rss)
WEB SERVICE(1)
(rss)
Windows Workflow Foundation (5)
(rss)
WINFORM
(rss)
XML(6)
(rss)
功能函数(5)
(rss)
俱乐部事宜(2)
(rss)
其他
(rss)
软件工程(3)
(rss)
数据库
(rss)
水晶报表(3)
(rss)
图片(3)
(rss)
项目管理(4)
(rss)
业界新闻(1)
(rss)
正则表达式(1)
(rss)
智能客户端技术
(rss)
文章分类
(23)
.Net Remoting
(rss)
ADO.NET
(rss)
ASP.NET(10)
(rss)
ASP.NET2.0
(rss)
C#(2)
(rss)
CSS
(rss)
js(5)
(rss)
Oracle
(rss)
SQL SERVER 2000(5)
(rss)
SQL SERVER 2005
(rss)
WEB SERVICE 技术
(rss)
XML
(rss)
项目管理(1)
(rss)
智能客户端技术
(rss)
相册
我的家园
我的证书
收藏夹
(325)
ADO.NET(21)
(rss)
ADO.NET 2.0
(rss)
ASP.NET(94)
(rss)
ASP.NET 2.0(116)
(rss)
C#(16)
(rss)
JS(23)
(rss)
NUnit(5)
(rss)
SQL SERVER 2000(12)
(rss)
SQL SERVER 2005(20)
(rss)
WEB SERVICE(14)
(rss)
XML(3)
(rss)
智能客户端技术(1)
(rss)
连接
BizTalk学习笔记系列
DooIT(ttyp)
Gmail - 收件箱
MSDN Webcast 中心
NFramework开源AOP框架
Rickie Lee's blog
zlz_212的专栏(Dundas Chart )
代码生成工具CodePlusV2.0
老赵点滴“深入Atlas系列”
清清月儿 .NET
深圳.NET 俱乐部
我CSDN的BLOG
邀月的博客日记
积分与排名
积分 - 359946
排名 - 61
最新随笔
1. 微软西安.NET俱乐部(.NET User Group) 邀请主讲讲师
2. 热烈庆祝西安.NET俱乐部加入微软.NET俱乐部(.NET User Group)
3. Enterprise Library 4.0 - May 2008 发布了
4. SQL语句对表中父子节点正向和反向取所有节点
5. 微软(西安).NET俱乐部成立聚会和Visual Studio 2008 社区发布全国巡展邀请函
6. 西安.NET俱乐部聚会活动意见征询
7. 数据库设计经验之谈(转载)
8. “保证软件测试质量的4个根基”主题培训峰会
9. 数据回发时,维护ASP.NET Tree控件位置
10. 国内项目开发过程分析总结
11. 解析.Net框架下的XML编程技术 (转载)
12. asp.net2.0导出pdf文件完美解决方案(转载)
13. 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
14. ASP.NET2.0打通文件图片处理任督二脉(转载)
15. 项目开发经验谈(二)
16. 项目开发经验谈(一)
17. 在项目开发总的一些感受,希望大家共同来探讨项目管理中的一些看法
18. js技巧收集(200多个) (转)
19. [Javascript] 如何在客户端验证表单被改变
20. 如何去掉ie里面的关闭按钮,和屏蔽ALT+F4 (转载)
21. 深入理解JavaScript中的函数
22. 庆祝"西安.NET俱乐部"成立,请申请加入的朋友在这里报到
23. 在SQL Server 2005中用存储过程实现搜索功能
24. 55种网页常用小技巧(javascript)
25. 精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
26. 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
27. ASP.NET 中处理页面“回退”的方法
28. 在 ASP.NET 上实现锁定表头、支持滚动的表格的做法
29. 事半功倍系列之javascript (转载)
30. 利用键盘上的上下左右(回车)键模拟出tab 键的功能上下左右移动焦点
Powered by:
博客园
Copyright © 高海东