国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何獲取局域網中的所有SQLServer服務

來源:懂視網 責編:小采 時間:2020-11-09 08:17:19
文檔

如何獲取局域網中的所有SQLServer服務

如何獲取局域網中的所有SQLServer服務:如何獲取局域網中的所有 SQL Server 服務 作者:佚名 我一直想在我的應用程序中獲得關于 SQL Server 更詳細的信息。直到最近利用 SQLDMO(SQL Distributed Management Objects) 才得以實現這個想法。SQLDMO 提供了非常強大的功能,我們幾乎可以利用程序
推薦度:
導讀如何獲取局域網中的所有SQLServer服務:如何獲取局域網中的所有 SQL Server 服務 作者:佚名 我一直想在我的應用程序中獲得關于 SQL Server 更詳細的信息。直到最近利用 SQLDMO(SQL Distributed Management Objects) 才得以實現這個想法。SQLDMO 提供了非常強大的功能,我們幾乎可以利用程序

如何獲取局域網中的所有 SQL Server 服務 作者:佚名 我一直想在我的應用程序中獲得關于 SQL Server 更詳細的信息。直到最近利用 SQLDMO(SQL Distributed Management Objects) 才得以實現這個想法。SQLDMO 提供了非常強大的功能,我們幾乎可以利用程序實現任

如何獲取局域網中的所有 SQL Server 服務

作者:佚名
我一直想在我的應用程序中獲得關于 SQL Server 更詳細的信息。直到最近利用 SQLDMO(SQL Distributed Management Objects) 才得以實現這個想法。SQLDMO 提供了非常強大的功能,我們幾乎可以利用程序實現任何 SQL Server 擁有的功能。在這篇文章中我將向您展示如何得到局域網中所有 SQL Servers 服務器、如何連接、如何獲得服務器中的所有數據庫。

SQLDMO 對像來自 SQL Server 2000 提供的動態連接庫 SQLDMO.dll。 這個 dll 本身是一個 COM 對像,首先你必須從類型庫中引用Microsoft SQLDMO Object Library (Version 8.0). Delphi 會自動為你生成SQLDMO_TLB.PAS文件,文件中包括了所有 COM 對象的接口。

在這里我們需要注意,由于引入的SQLDMO “TDatabase”和 “TApplication”和其它幾個缺省類名與 Delphi 自帶的類名沖突,所以自己可以修改成 _TypeName 的形式。或者其它的名字,我在這里改成 T_Application 、T_Database 等。

我們下一步要做的是在我們的程序中引入單元文件 SQLDMO_TLB.PAS 。 應用程序單元名稱是 SqlServers

服務器列表中是局域網中所有的 SQL SERVER 服務器,選擇服務器后輸入用戶名和密碼,下拉數據庫列表,程序會列出此服務器中的所有數據庫.

程序源代碼如下:

unit SqlServers;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Buttons, ComCtrls , SQLDMO_TLB;//注意別忘了引入此文件

type

TdmoObject = record

SQL_DMO : _SQLServer;

lConnected : boolean;

end;

type

TFormServersList = class(TForm)

Label1: TLabel;

Label2: TLabel;

CB_ServerNames: TComboBox;

CB_DataNames: TComboBox;

Label3: TLabel;

Label4: TLabel;

Ed_Login: TEdit;

Ed_Pwd: TEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure FormCreate(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure CB_DataNamesDropDown(Sender: TObject);

private

server_Names : TStringList;

//對象集合

PdmoObject : array of TdmoObject;

//獲取所有的遠程服務器

Function GetAllServers(ServerList : TStringList) : Boolean;

{ Private declarations }

public

{ Public declarations }

end;

var

FormServersList: TFormServersList;

implementation

{$R *.DFM}

{ TForm1 }

Function TFormServersList.GetAllServers(ServerList : TStringList) : Boolean;

var

sApp : _Application ;

sName : NameList;

iPos : integer;

begin

Result := True ;

try

sApp := CoApplication_.Create ; //創建的對象不用釋放,delphi 自己會釋放

sName := sApp.ListAvailableSQLServers;

except

Result := False;

Exit;

end;

if sName.Count > 0 then // 之所以 iPos 從1開始,是因為0 位置為空值即 ' '

for iPos := 1 to sName.Count - 1 do

begin

CB_ServerNames.Items.Add(sName.Item(iPos));

ServerList.Add(sName.Item(iPos));

end;

end;

procedure TFormServersList.FormCreate(Sender: TObject);

var

lcv : integer;

begin

server_Names := TStringList.Create;

if not GetAllServers(server_Names) then

begin

Application.MessageBox('無法獲取服務器列表,可能缺少客戶端DLL庫函數','錯誤提示',MB_OK);

exit;

end;

for lcv := 0 to server_Names.Count - 1 do

begin

SetLength(PdmoObject,lcv + 1);

with PdmoObject[lcv] do

begin

SQL_DMO := CoSQLServer.Create;

SQL_DMO.Name := Trim(server_Names[lcv]);

//登陸安全屬性,NT 身份驗證

SQL_DMO.LoginSecure := false;

// 設置一個連接超時

SQL_DMO.LoginTimeout := 3;

//自動重新登陸,如果第一次失敗后

SQL_DMO.AutoReconnect := true;

SQL_DMO.ApplicationName := server_Names[lcv];

lConnected := false;

end;

end;

end;

procedure TFormServersList.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

server_Names.Free;

end;

procedure TFormServersList.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := CaFree;

end;

procedure TFormServersList.FormShow(Sender: TObject);

begin

if CB_ServerNames.Items.Count > 0 then //列舉所有服務器名字

CB_ServerNames.Text := CB_ServerNames.Items.Strings[0];

end;

procedure TFormServersList.BitBtn2Click(Sender: TObject);

begin

Close ;

end;

procedure TFormServersList.CB_DataNamesDropDown(Sender: TObject);

var

icount ,Server_B : integer;

begin

CB_DataNames.Clear;

Screen.Cursor := CrHourGlass;

Server_B := CB_ServerNames.Items.IndexOf(CB_ServerNames.Text) ;

with PdmoObject[Server_B].SQL_DMO do

begin

if not PdmoObject[Server_B].lConnected then

try

Connect(Name,Trim(Ed_Login.Text),Trim(Ed_Pwd.Text));

except

Screen.Cursor := CrDefault ;

Application.MessageBox('請檢查用戶名或密碼是否正確','連接失敗',MB_OK);

Exit ;

end;

if not VerifyConnection(SQLDMOConn_ReconnectIfDead) then

begin

ShowMessage('在試圖連接到SQL SERVER 2000 時出現錯誤' + #10#13 +

'確信是否加在了動態連接庫SQLDMO.DLL');

exit;

end else

PdmoObject[Server_B].lConnected := True ;

Databases.Refresh(true);

for icount := 1 to Databases.Count do

CB_DataNames.Items.Add(Databases.Item(icount,null).name);

end;

Screen.Cursor := CrDefault ;

end

end.

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何獲取局域網中的所有SQLServer服務

如何獲取局域網中的所有SQLServer服務:如何獲取局域網中的所有 SQL Server 服務 作者:佚名 我一直想在我的應用程序中獲得關于 SQL Server 更詳細的信息。直到最近利用 SQLDMO(SQL Distributed Management Objects) 才得以實現這個想法。SQLDMO 提供了非常強大的功能,我們幾乎可以利用程序
推薦度:
標簽: 中的 獲取 如何
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 二区久久国产乱子伦免费精品 | 国产自产 | 国内免费视频成人精品 | 午夜精品一区二区三区免费视频 | 亚洲欧美久久精品一区 | 日本黄a| 91精品一区二区三区在线观看 | 日本成人一区 | 国产欧美日韩综合精品一区二区 | 337p日本欧洲亚洲大胆精品 | 久久无码精品一区二区三区 | 一区二区三区在线播放 | 亚洲欧美激情另类 | 欧美一区二区视频在线观看 | 亚洲精品不卡久久久久久 | 波多野的店 | 国产 欧美 日韩 在线 | 国产丝袜一区二区三区在线观看 | 综合 欧美 国产 视频二区 | 国产亚洲一区二区三区 | 国产va在线观看 | 国产中文字幕视频 | 日本黄 色 成 年 人免费观看 | 日韩欧美不卡一区二区三区 | 国产成人久久一区二区三区 | 人与禽一级一级毛片 | 91久久| 亚洲欧洲视频在线 | 日日天天| 欧美日韩精品一区二区三区视频在线 | 国产日产高清欧美一区二区三区 | 欧美日韩一区二区三区在线观看 | 91久久精品国产91性色tv | 伊人久久成人成综合网222 | 成人久久久 | 高清国产一区 | 国产成人精品日本亚洲语音2 | 亚洲第一区视频 | 国产成人亚洲精品影院 | 日韩亚洲欧美一区二区三区 | 国语清晰对白声音刺激 |