成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

檢測局域網電腦是否有安裝SQL Server數據庫

數據庫 SQL Server
怎樣檢測您所在的局域網是否安裝了SQL Server數據庫呢?怎樣查看數據庫的名稱并將其列出呢?本文就介紹實現這一過程的方法,希望能對讀者有所幫助。

本文主要介紹如何檢測局域網中的電腦是否有安裝SQL Server數據庫,并將其列出的方法。接下來我們就開始介紹這一過程的實現。

引用SQL DMO組件。

 

  1. //取得本局域網內所有可用sql服務器名  
  2.  
  3. cmbServer.Items.Clear();  
  4.  
  5. try  
  6.  
  7. {  
  8.  
  9. SQLDMO.Application app = new SQLDMO.ApplicationClass();  
  10.  
  11. SQLDMO.NameList list = app.ListAvailableSQLServers();  
  12.  
  13. int iCount = list.Count;  
  14.  
  15. for(int i = 0; i < iCount; i ++)  
  16.  
  17. {  
  18.  
  19. string sTemp = list.Item(i);  
  20.  
  21. if(sTemp != null)  
  22.  
  23. cmbServer.Items.Add(sTemp);  
  24.  
  25. }  
  26.  
  27. }  
  28.  
  29. catch  
  30.  
  31. {  
  32.  
  33. //如果取得SQLDMO組件出錯, 則默認把本機名寫進去  
  34.  
  35. MessageBox.Show("無法取得服務器列表,可能是缺少SDLDMO.DLL!");  
  36.  
  37. cmbServer.Items.Add(System.Net.Dns.GetHostName());  
  38.  

 

為什么我用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以上就可以了。

下面是源碼:

 

  1. string fileName = "C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn\\isql.exe";  
  2.  
  3. if(System.IO.File.Exists(fileName))  
  4.  
  5. {  
  6.  
  7. System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo(fileName,"-L");  
  8.  
  9. processStartInfo.UseShellExecute = false;  
  10.  
  11. processStartInfo.CreateNoWindow = true;  
  12.  
  13. processStartInfo.RedirectStandardOutput = true;  
  14.  
  15. processStartInfo.RedirectStandardError = true;  
  16.  
  17. System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);  
  18.  
  19. process.WaitForExit();  
  20.  
  21. cboServerList.Items.Clear();  
  22.  
  23. int line = 1;  
  24.  
  25. string server = null;  
  26.  
  27. while(process.StandardOutput.Peek() > -1)  
  28.  
  29. {  
  30.  
  31. server = process.StandardOutput.ReadLine().Trim();  
  32.  
  33. line +=1;  
  34.  
  35. if ( line > 6)  
  36.  
  37. {  
  38.  
  39. cboServerList.Items.Add(server);  
  40.  
  41. }  
  42.  
  43. server = null;  
  44.  
  45. }  
  46.  
  47. }  
  48.  
  49. cboServerList.Items.Remove(System.Environment.MachineName);  
  50.  
  51. cboServerList.Items.Add("localhost"); 

 

cboServerList是一個ComoBox。

你可以現在cmd中輸入isql.exe -? 看看參數序列中有沒有你想要的。

至于說列出局域網內的SQL Server數據庫要輸入 isql -L就可以了。

 

  1. private void cmbDatabase_Enter(object sender, System.EventArgs e)  
  2.  
  3. {  
  4.  
  5. //取得某服務器上的各個表名  
  6.  
  7. string strServer = cmbServer.Text;  
  8.  
  9. string strUid = txtUid.Text;  
  10.  
  11. if(strServer.Trim() != "" && strUid.Trim() != "")  
  12.  
  13. {  
  14.  
  15. string strPwd = txtPwd.Text;  
  16.  
  17. string strConn = "server=" + strServer + ";database=master;uid=" + strUid + ";pwd=" + strPwd;  
  18.  
  19. SqlConnection conn = null;  
  20.  
  21. try  
  22.  
  23. {  
  24.  
  25. conn = new SqlConnection(strConn);  
  26.  
  27. string strSQL = "select * from sysdatabases order by dbid";  
  28.  
  29. SqlDataAdapter cmd = new SqlDataAdapter(strSQL, conn);  
  30.  
  31. DataSet ds = new DataSet();  
  32.  
  33. cmd.Fill(ds, "Databases");  
  34.  
  35. cmbDatabase.Items.Clear();  
  36.  
  37. for(int i = 0; i < ds.Tables["Databases"].Rows.Count; i ++)  
  38.  
  39. {  
  40.  
  41. string strDb = ds.Tables["Databases"].Rows[i]["name"].ToString();  
  42.  
  43. cmbDatabase.Items.Add(strDb);  
  44.  
  45. }  
  46.  
  47. }  
  48.  
  49. catch(Exception ex)  
  50.  
  51. {  
  52.  
  53. MessageBox.Show(ex.ToString());  
  54.  
  55. }  
  56.  
  57. finally  
  58.  
  59. {  
  60.  
  61. if(conn.State == ConnectionState.Open)  
  62.  
  63. conn.Close();  
  64.  
  65. }  
  66.  
  67. }  
  68.  
  69. this.Cursor = Cursors.Default;  
  70.  

 

 這樣,我們就能檢測到局域網內是否安裝有SQL Server數據庫,并能將其列出了。本文就介紹到這里,希望能對您有所幫助。

【編輯推薦】

  1. 淺談Oracle Buffer Cache的優化思路
  2. Linux系統下MySQL重要目錄和密碼管理
  3. 一個利用Oracle表的主外鍵關系實現級聯刪除的實例
  4. Oracle數據庫Guid作主鍵時執行速度超慢的原因在哪里
  5. 利用PL/SQLDeveloper將CSV數據導入ORACLE對應表中
責任編輯:趙鵬 來源: 博客園
相關推薦

2010-07-23 10:01:54

SQL Server

2011-09-19 16:06:55

路由器局域網分段

2010-07-08 15:55:25

SQL Server

2009-01-11 10:10:00

局域網網絡安全

2010-07-15 17:28:50

SQL Server

2009-12-23 17:29:45

2009-03-03 13:51:15

2010-09-02 09:07:53

2011-07-21 17:06:42

MySQL數據庫局域網

2009-02-01 10:08:23

數據中心局域網虛擬化

2011-08-17 14:12:18

無線局域網

2010-04-15 12:14:30

局域網無線網卡安裝

2010-04-07 14:33:35

無線局域網基礎

2009-03-20 22:18:07

2010-08-23 17:18:54

DHCP協議

2010-09-27 10:00:18

無線局域網

2010-09-01 15:07:48

無線局域網

2010-04-08 18:12:39

無線局域網傳輸

2010-09-02 08:47:22

無線局域網蜂窩覆蓋

2010-09-17 09:04:10

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品日韩 | 一区二区三区四区国产 | 国产精品国产成人国产三级 | 免费观看一级特黄欧美大片 | 在线一区二区三区 | 欧美日韩激情 | 亚洲精品美女在线观看 | 精品亚洲一区二区 | 成人在线中文字幕 | 国产欧美精品在线观看 | 久久久久国产一级毛片 | 一级做a爰片久久毛片 | 久草成人 | 特级黄一级播放 | 午夜久久久 | www.狠狠干| 韩日av片| 91亚洲国产成人久久精品网站 | 成人性视频免费网站 | 99精品国产一区二区三区 | 在线观看的av | 1级黄色大片 | a在线观看免费 | 亚洲综合区 | 欧美日韩一区精品 | 色桃网 | 中文字幕精品一区二区三区精品 | 性高湖久久久久久久久3小时 | eeuss国产一区二区三区四区 | 日日操操 | 黄色在线免费播放 | 欧美国产在线一区 | 日本黄色激情视频 | 国产91综合一区在线观看 | 91精品久久久久久久久久小网站 | 中文字幕国产精品 | 日韩成人免费中文字幕 | 99国产精品99久久久久久 | 99在线资源 | 日韩成人在线视频 | 国产精品91久久久久久 |