OTT chuyển đổi câc định nghĩa CSDL của câc kiểu object vă câc kiểu named collection sang câc khai bâo cấu trúc C trong một ứng dụng OCI hoặc Pro*C/C++ .
Nhất thiết bạn phải sử dụng OTT để chuyển đổi câc kiểu CSDL sang câc mô tả của C . Bạn cũng cần phải khởi tạo một cấu trúc dữ liệu gọi lă TypeVersion Table với thông tin do user định nghĩa được yíu cầu bởi chương trình . Mê để thực hiện khởi tạo năy được tạo ra bởi OTT . Trín hầu hết câc hệ điều hănh OTT được sử dụng bằng command line .Nó nhận file intype
vă tạo ra file outtype, một hoặc nhiều file header C vă một file implementation tùy chọn . Ví dụ sau cho thấy câch sử dụng OTT:
ott userid=scott/tiger intype=demoin.typ outtype=demoout.typ code=c hfile=demo.h
Lệnh năy thực hiện công việc nối kết OTT với CSDL username='scott' , password lă ''tiger' vă chuyển câc kiểu dữ liệu sang câc cấu trúc C dựa văo câc lệnh trong file intype (demoin.typ) . Câc cấu trúc kết quả được xuất đến file header (demo.h) , ngôn ngữ chủ lă được định rõ bới tham số code (code=C) , file outtype (demoout.typ) nhận câc thông tin về sự chuyển đổi . file demoin.typ đơn giản lă :
CASE=LOWER TYPE employee
Sample demoout.typ file: CASE = LOWER
TYPE EMPLOYEE AS employee VERSION = "$8.0"
HFILE = demo.h
Trong ví dụ năy , file demoin.typ chứa kiểu bị chuyển đổi có từ TYPE đứng trước . cấu trúc file
outtype.typ tương tự file intype.typ với một số thông tin được đưa văo thu được bởi OTT . Một khi OTT chuyển đổi xong , file header chứa một cấu trúc C mô tả mô tă mỗi kiểu được định rõ trong file intype.typ vă một con trỏ chỉ null tương ứng với mỗi kiểu
Ví dụ kiểu employee trong file intype như sau : CREATE TYPE employee AS OBJECT
( name VARCHAR2(30), empno NUMBER, deptno NUMBER, hiredate DATE, salary NUMBER );
File header được tạo bởi OTTchứa câc khai bâo như sau : struct employee
{
OCIString * name; OCINumber empno; OCINumber deptno; OCIDate hiredate; OCINumber salary; };
typedef struct emp_type emp_type; struct employee_ind { OCIInd _atomic; OCIInd name; OCIInd empno; OCIInd deptno; OCIInd hiredate; OCIInd salary; };
typedef struct employee_ind employee_ind; 1 . Tạo kiểu trong CSDL
Bước đầu tiín sử dụng OTT lă tạo ra câc kiểu object hoặc named collection vă chứa chúng văo CSDL bằng câch sử dụng phât biểu SQL :
CREATE TYPE 2 . Sử dụng OTT
Bước tiếp theo lă sử dụng OTT , câc tham số có thể được định rõ trín command line hoặc trong file cấu hình hoặc trong file INTYPE .
Nếu một tham số được định rõ ở nhiều chỗ thì giâ trị của nó có độ ưu tiín theo thứ tự sau : Trín command line
Trong file INTYPE
Trong file cấu hình do user định nghĩa Trong file cấu hình mặc định
+ command line (xem phần sau)
+ file cấu hình
Một file cấu hình lă một file text chứa câc tham số OTT . Mỗi dóng không có khoảng trắng chứa một tham số có một hoặc nhiều giâ trị . Nếu có nhiều tham số trín một dòng thì chỉ có tham đầu tiín được sử dụng . Một file cấu hình có thể được đặt tín trín command line . Ngoăi ra file cấu hình mặc định luôn luôn được đọc . File cấu hình năy luôn luôn tồn tại nhưng có thể trống . Tín mặc định của file cấu hình ottcfg.cfg vă vị trí của nó được chỉ ra bằng đường dẫn cụ thể . Ví dụ trong solris file năy được định rõ lă : $ORACLE_HOME/precomp/admin/ottcfg.cfg
+ file INTYPE
Đưa ra một danh sâch kiểu để OTT chuyển đổi . Câc tham số CASE , HFILE , INITFUNC , INITFILE có thể xuđât hiện trong file năy .