怎样检测网络中的电脑是否有安装SQL 2000

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

None.gif
引用SQL DMO组件
None.gif // 取得本局域网内所有可用sql服务器名
None.gif
cmbServer.Items.Clear();
None.gif try
ExpandedBlockStart.gif ContractedBlock.gif dot.gif {
InBlock.gif SQLDMO.Application app = new SQLDMO.ApplicationClass();
InBlock.gif SQLDMO.NameList list = app.ListAvailableSQLServers();
InBlock.gifint iCount = list.Count;
InBlock.gif
InBlock.giffor(int i = 0; i < iCount; i ++)
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gifstring sTemp = list.Item(i);
InBlock.gifif(sTemp != null)
InBlock.gif cmbServer.Items.Add(sTemp);
ExpandedSubBlockEnd.gif }

ExpandedBlockEnd.gif }

None.gif catch
ExpandedBlockStart.gif ContractedBlock.gif dot.gif {
InBlock.gif//如果取得SQLDMO组件出错, 则默认把本机名写进去
InBlock.gif
MessageBox.Show("无法取得服务器列表,可能是缺少SDLDMO.DLL!");
InBlock.gif cmbServer.Items.Add(System.Net.Dns.GetHostName());
ExpandedBlockEnd.gif }

None.gif为什么我用panyee(快乐王子)的那个例子一直出现“无法取得服务器列表,可能是缺少SDLDMO.DLL”,我有这个文件啊!
None.gif
None.gif如果用“http: // xml.sz.luohuedu.net/xml/ShowDetail.asp?id=BCEAADFB-CFF3-4804-B3B3-6C7D6488982B”里的例子也不行会出现以下信息:
None.gif
"未处理的“System.InvalidCastException”类型的异常出现在WindowsApplication1.exe 中
None.gif其他信息:接口 SQLDMO.NameList 的 QueryInterface 失败。
None.gif怎么回事,请高手帮帮忙啊!
None.gif第一,你的sql server 版本不够。
None.gif 如果要使用SQLDMO.DLL就要去下载SQL sp2.
None.gif 第二,如果你想列出局域网内的所有的SQl server
None.gif 建议你用Sql server自带的 isql.exe 这个文件只要是sql server 6.5以上就可以了
None.gif 下面是源码:
None.gif string fileName = "C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn\\isql.exe";
None.gif if(System.IO.File.Exists(fileName))
ExpandedBlockStart.gif ContractedBlock.gif dot.gif {
InBlock.gif System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo(fileName,"-L");
InBlock.gif processStartInfo.UseShellExecute = false;
InBlock.gif processStartInfo.CreateNoWindow = true;
InBlock.gif processStartInfo.RedirectStandardOutput = true;
InBlock.gif processStartInfo.RedirectStandardError = true;
InBlock.gif System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);
InBlock.gif process.WaitForExit();
InBlock.gif cboServerList.Items.Clear();
InBlock.gifint line = 1;
InBlock.gifstring server = null;
InBlock.gifwhile(process.StandardOutput.Peek() > -1)
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif server = process.StandardOutput.ReadLine().Trim();
InBlock.gif line +=1;
InBlock.gifif ( line > 6)
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif cboServerList.Items.Add(server);
ExpandedSubBlockEnd.gif }

InBlock.gif server = null;
ExpandedSubBlockEnd.gif }

ExpandedBlockEnd.gif }

None.gif cboServerList.Items.Remove(System.Environment.MachineName);
None.gif cboServerList.Items.Add("localhost");
None.gif cboServerList是一个ComoBox
None.gif
None.gif你可以现在cmd中输入isql.exe -? 看看参数序列中有没有你想要的
None.gif 至于说列出局域网内的sql server 要输入 isql -L就可以了
None.gif private void cmbDatabase_Enter( object sender, System.EventArgs e)
ExpandedBlockStart.gif ContractedBlock.gif dot.gif {
InBlock.gif//取得某服务器上的各个表名
InBlock.gif

InBlock.gifstring strServer = cmbServer.Text;
InBlock.gifstring strUid = txtUid.Text;
InBlock.gifif(strServer.Trim() != "" && strUid.Trim() != "")
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gifstring strPwd = txtPwd.Text;
InBlock.gifstring strConn = "server=" + strServer + ";database=master;uid=" + strUid + ";pwd=" + strPwd;
InBlock.gif SqlConnection conn = null;
InBlock.giftry
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif conn = new SqlConnection(strConn);
InBlock.gifstring strSQL = "select * from sysdatabases order by dbid";
InBlock.gif SqlDataAdapter cmd = new SqlDataAdapter(strSQL, conn);
InBlock.gif DataSet ds = new DataSet();
InBlock.gif cmd.Fill(ds, "Databases");
InBlock.gif cmbDatabase.Items.Clear();
InBlock.giffor(int i = 0; i < ds.Tables["Databases"].Rows.Count; i ++)
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gifstring strDb = ds.Tables["Databases"].Rows[i]["name"].ToString();
InBlock.gif cmbDatabase.Items.Add(strDb);
ExpandedSubBlockEnd.gif }

ExpandedSubBlockEnd.gif }

InBlock.gifcatch(Exception ex)
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif MessageBox.Show(ex.ToString());
ExpandedSubBlockEnd.gif }

InBlock.giffinally
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gifif(conn.State == ConnectionState.Open)
InBlock.gif conn.Close();
ExpandedSubBlockEnd.gif }

ExpandedSubBlockEnd.gif }

InBlock.gifthis.Cursor = Cursors.Default;
ExpandedBlockEnd.gif }

None.gif



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2006/05/16/401907.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
域名解析 关系型数据库 MySQL
怎样用自己电脑搭建网络服务器!不花一分钱
怎样用自己电脑搭建网络服务器!不花一分钱
53 1
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
101 1
|
1天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
11 5
|
1天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
2天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
6 0
|
3天前
如何检测本地网络是否稳定
如何检测本地网络是否稳定
10 0
|
4天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
16 1
|
14天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
48 0