TỔNG QUAN VỀ LẬP TRÌNH ORACLE OLE
Số trang: 3
Loại file: doc
Dung lượng: 65.50 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Oracle OLE Server (OO4O) là phần mềm trung gian (middleware) do Oracle xây dựng cho phép truy cập cơ sở dữ liệu một cách trực tiếp (native access). OO4O chỉ sử dụng được trong môi trường Windows (9.x/NT/2000) của Microsoft với kiến trúc COM (hay OLE) của hệ điều hành. Bạn phải cài đặt các thư viện cần thiết do Oracle cung cấp . Mỗi phiên bản OO4O có thể cung cấp thêm những chức năng mới do đó khi sử dụng OO4O bạn nên xem xét kỹ những thuộc tính và phương thức dành cho mỗi phiên bản....
Nội dung trích xuất từ tài liệu:
TỔNG QUAN VỀ LẬP TRÌNH ORACLE OLE TRAÛ LÔØI BAØI TAÄP ORACLE CHÖÔNG 19 TOÅNG QUAN VEÀ LAÄP TRÌNH ORACLE OLE1. Oracle OLE Object laø gì? Moät chöông trình chaïy treân heä ñieàuhaønh Windows muoán söû duïng ñöôïc OO40 caàn phaûi coù ñieàukieän nhö theá naøo? Oracle OLE Server (OO4O) laø phaàn meàm trung gian (middleware) do Oracle xaây döïng cho pheùp truy caäp cô sôû döõ lieäu moät caùch tröïc tieáp (native access). OO4O chæ söû duïng ñöôïc trong moâi tröôøng Windows (9.x/NT/2000) cuûa Microsoft vôùi kieán truùc COM (hay OLE) cuûa heä ñieàu haønh. Baïn phaûi caøi ñaët caùc thö vieän caàn thieát do Oracle cung caáp . Moãi phieân baûn OO4O coù theå cung caáp theâm nhöõng chöùc naêng môùi do ñoù khi söû duïng OO4O baïn neân xem xeùt kyõ nhöõng thuoäc tính vaø phöông thöùc daønh cho moãi phieân baûn. Khoâng neân ñem nhöõng chöông trình söû duïng chöùc naêng cuûa OO4O trong Oracle 7 sang OO4O cuûa Oracle 8 hay ngöôïc laïi (maëc duø ñieàu naøy cuõng khoâng haún luoân luoân gaây ra loãi).2. OO4O so vôùi ODBC coù nhöõng öu vaø khuyeát ñieåm gì? So saùnh OO4O vaø ODBC: OO4O cho pheùp truy caäp tröïc tieáp ñeán cô sôû döõ lieäu Oracle, toác ñoä truy caäp do ñoù seõ nhanh hôn ODBC. Tuy nhieân ODBC laø caàu noái ñöôïc duøng chung cho taát caû cô sôû döõ lieäu treân Windows trong khi OO4O chæ laø moät ñoái töôïng OLE ñôn thuaàn daønh rieâng cho vieäc truy xuaát ñeán moâi tröôøng cô sôû döõ lieäu Oracle. OO4O do Oracle cung caáp trong khi Oracle ODBC coù theå ñöôïc söï hoã trôï töø nhieàu haõng phaàn meàm khaùc.3. Coù theå söû duïng OO4O töø caùc öùng duïng cuûa Microsoft (nhöWord, Excell, Access …) ñöôïc khoâng? OO4O ñöôïc xaây döïng döïa treân moâ hình COM cuûa Microsoft neân baïn coù theå söû duïng OO4O trong haàu heát caùc öùng duïng cuûa Microsoft nhö Word, Excell, Access hay SQL Server.4. Laøm theá naøo ñeå keát noái vaø truy xuaát ñöôïc cô sôû döõlieäu cuûa Oracle baèng OO4O töø moâi tröôøng laäp trình VisualBasic hay töø caùc öùng duïng cuûa Microsoft Office, cho ví duï. Truy xuaát cô sôû döõ lieäu Oracle baèng OO4O trong moâi tröôøng laäp trình Visual Basic cuõng nhö trong haàu heát caùc öùng duïng Microsoft Office khaùc hoaøn toaøn töông töï nhau (caùc öùng duïng Microsoft Office nhö Word, Excell söû duïng caùc Macro vôùi ngoân ngöõ Visual Basic). Ví duï ñeå laáy thoâng tin veà moät nhaân vieân trong baûng EMP truy xuaát baèng OO4O ñöôïc thöïc hieän nhö sau: TRAÛ LÔØI BAØI TAÄP ORACLE Sub Form_Load () Dim OraSession As Object Khai baùo ñoái töôïng OLE Objects Dim OraDatabase As Object Dim OraDynaset As Object ‘Taïo ñoái töôïng OO4O Set OraSession = CreateObject( OracleInProcServer.XOraSession) ‘Keát noái vôùi cô sôû döõ lieäu Oracle Set OraDatabase = OraSession.DbOpenDatabase( ExampleDB, scott/tiger, 0&) MsgBox Connected to & OraDatabase.Connect & @ & OraDatabase.DatabaseName Taïo ñoái töôïng OraDynaset vaø laáy keát quaû traû veà Set OraDynaset = OraDatabase.DbCreateDynaset(select empno, ename from emp, 0&) MsgBox Employee & OraDynaset.Fields(empno).value & , # & OraDynaset.Fields(ename).value End Sub5. Laøm theá naøo ñeå keát noái vaø truy xuaát cô sôû döõ lieäuOracle töø caùc moâi tröôøng laäp trình C++ hay Delphi baèng OO4O,cho ví duï. Keát noái vôùi Oracle baèng OO4O töø moâi tröôøng Delphi gaàn nhö hoaøn toaøn töông töï vôùi moâi tröôøng Visual Basic ví duï: Var OraSession :OleVariant; // Khai baùo ñoái töôïng OLE OraDatabase:OleVariant; OraDynaset:OleVariant; Begin //Taïo ñoái töôïng OLE OraSession:= CreateOLEObject( ‘OracleInProcServer.XoraSession’); //Keát noái vôùi cô sôû döõ lieäu OraDatabase:=OraSession.OpenDatabase (‘ExampleDB’, ‘username’,’password’); //Truy xuaát döõ lieäu OraDynaset:= OraDatabase.DbCreateDynaset( ‘select empno, ename from emp’, 0) TRAÛ LÔØI BAØI TAÄP ORACLE ShowMessage(‘Employee ‘ + OraDynaset.Fields(‘empno’).value + OraDynaset.Fields(‘ename’).value); End; Keát noái vôùi Oracle töø moâi tröôøng laäp trình C++ baèngOO4O ñöôïc söû duïng thoâng qua caùc lôùp Oracle Class Library nhösau: #ifndef ORACL_ORACLE #include oracl.h #endif int main(void){ //Thöïc hieän keát noái vôùi cô sôû döõ lieäu OStartup(); ODatabase m_database(“ExampleDB”,”scott”,”tiger”); if (!m_database.IsOpen()) { printf(Connect error \n); return 0; } /* Keát noái thaønh coâng */ //Truy xuaát döõ lieäu cuûa baûng EMP ODynaset m_dynaset; m_dynaset.Open(m_database, select empno, ename from emp); //In döõ lieäu ra maøn hình OValue data; m_dynaset.GetFieldValue(1,&data); printf(%s \n,(const char*)data); return 0; } ...
Nội dung trích xuất từ tài liệu:
TỔNG QUAN VỀ LẬP TRÌNH ORACLE OLE TRAÛ LÔØI BAØI TAÄP ORACLE CHÖÔNG 19 TOÅNG QUAN VEÀ LAÄP TRÌNH ORACLE OLE1. Oracle OLE Object laø gì? Moät chöông trình chaïy treân heä ñieàuhaønh Windows muoán söû duïng ñöôïc OO40 caàn phaûi coù ñieàukieän nhö theá naøo? Oracle OLE Server (OO4O) laø phaàn meàm trung gian (middleware) do Oracle xaây döïng cho pheùp truy caäp cô sôû döõ lieäu moät caùch tröïc tieáp (native access). OO4O chæ söû duïng ñöôïc trong moâi tröôøng Windows (9.x/NT/2000) cuûa Microsoft vôùi kieán truùc COM (hay OLE) cuûa heä ñieàu haønh. Baïn phaûi caøi ñaët caùc thö vieän caàn thieát do Oracle cung caáp . Moãi phieân baûn OO4O coù theå cung caáp theâm nhöõng chöùc naêng môùi do ñoù khi söû duïng OO4O baïn neân xem xeùt kyõ nhöõng thuoäc tính vaø phöông thöùc daønh cho moãi phieân baûn. Khoâng neân ñem nhöõng chöông trình söû duïng chöùc naêng cuûa OO4O trong Oracle 7 sang OO4O cuûa Oracle 8 hay ngöôïc laïi (maëc duø ñieàu naøy cuõng khoâng haún luoân luoân gaây ra loãi).2. OO4O so vôùi ODBC coù nhöõng öu vaø khuyeát ñieåm gì? So saùnh OO4O vaø ODBC: OO4O cho pheùp truy caäp tröïc tieáp ñeán cô sôû döõ lieäu Oracle, toác ñoä truy caäp do ñoù seõ nhanh hôn ODBC. Tuy nhieân ODBC laø caàu noái ñöôïc duøng chung cho taát caû cô sôû döõ lieäu treân Windows trong khi OO4O chæ laø moät ñoái töôïng OLE ñôn thuaàn daønh rieâng cho vieäc truy xuaát ñeán moâi tröôøng cô sôû döõ lieäu Oracle. OO4O do Oracle cung caáp trong khi Oracle ODBC coù theå ñöôïc söï hoã trôï töø nhieàu haõng phaàn meàm khaùc.3. Coù theå söû duïng OO4O töø caùc öùng duïng cuûa Microsoft (nhöWord, Excell, Access …) ñöôïc khoâng? OO4O ñöôïc xaây döïng döïa treân moâ hình COM cuûa Microsoft neân baïn coù theå söû duïng OO4O trong haàu heát caùc öùng duïng cuûa Microsoft nhö Word, Excell, Access hay SQL Server.4. Laøm theá naøo ñeå keát noái vaø truy xuaát ñöôïc cô sôû döõlieäu cuûa Oracle baèng OO4O töø moâi tröôøng laäp trình VisualBasic hay töø caùc öùng duïng cuûa Microsoft Office, cho ví duï. Truy xuaát cô sôû döõ lieäu Oracle baèng OO4O trong moâi tröôøng laäp trình Visual Basic cuõng nhö trong haàu heát caùc öùng duïng Microsoft Office khaùc hoaøn toaøn töông töï nhau (caùc öùng duïng Microsoft Office nhö Word, Excell söû duïng caùc Macro vôùi ngoân ngöõ Visual Basic). Ví duï ñeå laáy thoâng tin veà moät nhaân vieân trong baûng EMP truy xuaát baèng OO4O ñöôïc thöïc hieän nhö sau: TRAÛ LÔØI BAØI TAÄP ORACLE Sub Form_Load () Dim OraSession As Object Khai baùo ñoái töôïng OLE Objects Dim OraDatabase As Object Dim OraDynaset As Object ‘Taïo ñoái töôïng OO4O Set OraSession = CreateObject( OracleInProcServer.XOraSession) ‘Keát noái vôùi cô sôû döõ lieäu Oracle Set OraDatabase = OraSession.DbOpenDatabase( ExampleDB, scott/tiger, 0&) MsgBox Connected to & OraDatabase.Connect & @ & OraDatabase.DatabaseName Taïo ñoái töôïng OraDynaset vaø laáy keát quaû traû veà Set OraDynaset = OraDatabase.DbCreateDynaset(select empno, ename from emp, 0&) MsgBox Employee & OraDynaset.Fields(empno).value & , # & OraDynaset.Fields(ename).value End Sub5. Laøm theá naøo ñeå keát noái vaø truy xuaát cô sôû döõ lieäuOracle töø caùc moâi tröôøng laäp trình C++ hay Delphi baèng OO4O,cho ví duï. Keát noái vôùi Oracle baèng OO4O töø moâi tröôøng Delphi gaàn nhö hoaøn toaøn töông töï vôùi moâi tröôøng Visual Basic ví duï: Var OraSession :OleVariant; // Khai baùo ñoái töôïng OLE OraDatabase:OleVariant; OraDynaset:OleVariant; Begin //Taïo ñoái töôïng OLE OraSession:= CreateOLEObject( ‘OracleInProcServer.XoraSession’); //Keát noái vôùi cô sôû döõ lieäu OraDatabase:=OraSession.OpenDatabase (‘ExampleDB’, ‘username’,’password’); //Truy xuaát döõ lieäu OraDynaset:= OraDatabase.DbCreateDynaset( ‘select empno, ename from emp’, 0) TRAÛ LÔØI BAØI TAÄP ORACLE ShowMessage(‘Employee ‘ + OraDynaset.Fields(‘empno’).value + OraDynaset.Fields(‘ename’).value); End; Keát noái vôùi Oracle töø moâi tröôøng laäp trình C++ baèngOO4O ñöôïc söû duïng thoâng qua caùc lôùp Oracle Class Library nhösau: #ifndef ORACL_ORACLE #include oracl.h #endif int main(void){ //Thöïc hieän keát noái vôùi cô sôû döõ lieäu OStartup(); ODatabase m_database(“ExampleDB”,”scott”,”tiger”); if (!m_database.IsOpen()) { printf(Connect error \n); return 0; } /* Keát noái thaønh coâng */ //Truy xuaát döõ lieäu cuûa baûng EMP ODynaset m_dynaset; m_dynaset.Open(m_database, select empno, ename from emp); //In döõ lieäu ra maøn hình OValue data; m_dynaset.GetFieldValue(1,&data); printf(%s \n,(const char*)data); return 0; } ...
Gợi ý tài liệu liên quan:
-
52 trang 430 1 0
-
62 trang 402 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 314 0 0 -
74 trang 300 0 0
-
13 trang 294 0 0
-
96 trang 293 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 293 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 288 0 0