/////////////////////////////////////////////
// 服務端
//////////////////////////////////////////////
1.Oracle中創建表
登陸system/manager
Create table Customer(
CustID integer,
CustName varchar(20),
Memo varchar(200)
);
2.BCB中File/New/Multitier
CoClassName:CustInfoSvr
3.控件Data Access/DataBase
DataBaseName: CUSTINFO
DriverName:ORACLE
LoginPrompt:false
Params:
SERVER NAME=ORCL
USER NAME=SYSTEM
PASSWORD=MANAGER
4.控件Data Access/UpdateSQL:
Name:CustInfoUpdateSQL
DeleteSQL:delete Customer where CustID=:old_CustID
InsertSQL:insert into Customer values (:CustID,:CustName,:Memo)
ModifySQL:update Customer set
CustID=:CustID, CustName=:CustNamename,Memo=:Memo where
CustID=:old_CustID
5.控件Data Access/TQuery:
Name:CustInfoQuery
UpdateObject:CustInfoUpdateSQL
UpdateMode:UpdateWhereKeyOnly
DatabaseName:CUSTINFO
6.控件Midas/DataSetProvider:
Name:CustInfoProvider
Options< DataSet:CustInfoQuery
UpdateMode:upWhereKeyOnly
7.Main窗體中構造函數
CustInfoSvr = new TCustInfoSvr (Application);
if (FindWindow (NULL, "Borland Socket Server") == NULL)
WinExec (AnsiString (ExtractFilePath(Application->ExeName)
+ "Scktsrvr.exe").c_str(), SW_SHOW);
打開Borland Socket Server並添加端口27241
程序將通過BCB的Socket Server在這個端口發佈服務
//////////////////////////////////////////
/// 客戶端
///////////////////////////////////////////
1.File/New/Data Modules
Name:CustInfoData
2.Midas/SocketConnection
Name:CustInfoConnection
Address:127.0.0.1
Port:27241
ServerName:DataModuleSvr.CustInfoSvr
//注:需打開客戶端和Socket Server才能選擇ServerName
3.Midas/ClientDataSet
Name:CustInfoCds
RemoteServer:CustInfoConnection
ProviderName:CustInfoProvider
4.Data Access/DataSource
Name:CustInfoSource
DataSet:CustInfoCds
5.MainForm構造函數
try
{
CustInfoData->CustInfoCds->Open();
DataSource = CustInfoData->CustInfoSource;
DBGrid1->DataSource = CustInfoData->CustInfoSource;
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
//配置結束
這個程序主要通過DataSetProvider來提供服務
還沒有深入瞭解DCOM,不過我想這應該就是DCOM的一個應用
DataSetProvider只要提供一個數據集就可以提供遠程調用
ORACLE+Midas的遠程數據模塊配置過程[2004年4月18日 10:17]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.