如何取的OLAP SERVER上的SERVER名稱和其資料庫名稱 |
尚未結案
|
qq_911228
一般會員 發表:30 回覆:22 積分:10 註冊:2003-09-29 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
在Analysis Services裏有一個MDX Sample Application的應用程式,
這程式是使用VB寫的,裝完Analysis Services後,
會在它的目錄[Microsoft Analysis Services]裏有一個[Samples],
這目錄中有些VB寫的範例程式,包括上面講的MDX Sample Application
的Source都有,其中讀取資料庫的程式如下
======================================
Private Sub UpdateDatabaseList(cnActive As ADODB.Connection) Dim rs As ADODB.Recordset, sCatalogActive As String, sCatalogCur As String cboDatabaseList.Clear If cnActive Is Nothing Then cboDatabaseList.Enabled = False ElseIf cnActive.State <> adStateOpen Then cboDatabaseList.Enabled = False Else cboDatabaseList.Enabled = True sCatalogActive = cnActive.DefaultDatabase Set rs = cnActive.OpenSchema(adSchemaCatalogs) Do Until rs.EOF sCatalogCur = rs.Fields(m_sFieldCatalogName) cboDatabaseList.AddItem sCatalogCur If sCatalogCur = sCatalogActive Then cboDatabaseList.ListIndex = cboDatabaseList.NewIndex End If rs.MoveNext Loop End If End Sub=========================== 但其中的 Set rs = cnActive.OpenSchema(adSchemaCatalogs) 跟 sCatalogCur = rs.Fields(m_sFieldCatalogName) 這二行要如何轉成Delphi的語法,我也還沒試出來, 所以還請各位高手幫忙解答一下,謝謝!! ~做中學,學中做~
------
corn |
qq_911228
一般會員 發表:30 回覆:22 積分:10 註冊:2003-09-29 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ADODB_tlb, adomd_tlb, DB, ADODB; type
TForm1 = class(TForm)
olap_database: TListBox;
Button1: TButton;
ADODataSet1: TADODataSet;
ADOConnection1: TADOConnection;
procedure UpdateDatabaseList() ;
procedure bu(Sender: TObject);
end; var
Form1: TForm1; implementation {$R *.dfm} procedure Tform1.UpdateDatabaseList() ;
var
DS: WideString;
SI : Tschemainfo ;
a: string;
begin
DS := 'Provider=MSOLAP.1;Persist Security Info=False;'
'User ID=sa;Data Source=ncku-jimson;'
'Connect Timeout=60;'
'Client Cache Size=25;Auto Synch Period=10000'; SI := siCatalogs;
ADOConnection1.ConnectionString := DS ;
ADOConnection1.OpenSchema(SI,EmptyParam,EmptyParam,ADODataSet1);
ADODataSet1.Open; Repeat
//只抓database的名稱,故設為 CATALOG_NAME,
olap_database.Items.Add(ADODataSet1.FieldValues['CATALOG_NAME']);
ADODataSet1.Next;
until ADODataSet1.EOF ;
ADODataSet1.Close;
end;
procedure TForm1.bu(Sender: TObject);
begin
UpdateDatabaseList();
end; end. 其中我自己多寫了一個副程式~~~測試用的~~
如不需要~~請大家自行修改~~
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |