TOLEContainer объектісі.

OLE DB негіздері.

OLE негіздерін қарастырмастан бұрын, оның терминологиясын оқу керек.

OLE аббревиатурасы Objects Linked and Embedded (Біріктірілген Және Тұрғызылған Объектілер - БЖТО J) білдіреді. Қосымша арасында бөлінетін деректер OLE объектісі деп атлады. OLE объектісі бар қосымшаны OLE контейнері (OLE Container) деп атайды. Приложение, данные из которого можно включить в в виде OLE объектісі түріндегі OLE контейнерге қосылатын деректер қосымшасын OLE сервер деп атайды

Мысалы, MicroSoft Word-та графикалық объектілер, аудио- мен видеоклиптер және тағы басқа объектілер болады (кейде мұндай құжатты құрама құжат - compound document деп атайды).

Аталуына қарай, OLE объектіні OLE контейнерге біріктіруге, болмаса қосуға болады. Бірінші жағдайда деректер дискіде файлда сақталынады, кез келген қосымша осы деректерге қатынай алады және өзгеріс енгізе алады. Екінші жағдайда деректер ОLE контейнерге қосылады және ол осы деректерді қарап оны модификациялай алады.

OLE деректер қосымшасы арасында бөлінетін идеяның әрі қарай өркендеуі.. Егер DDE көмегімен мәтінмен жұмыс істеуге болатын болса, онда OLE қосымшаны деректердің кез келген типін жеңіл тұрғызуға мүмкіндік береді. DDE жағдайындай, клиент-қосымшсының (OLE контейнер) дұрыс жұмысы үшін, приложения OLE серверінің қосымшасы болу керек. Әрбір кезде, клиент-программасында пайдаланушы деректерді қарау және жөндеу мақсатында OLE объектіге үндеу жасайды (көбінесе объектіні тышқанмен екі рет шерту), деректермен жұмыс жүргізілетін сервер-қосымшасы жүктелінеді.

Негізінен OLE объектісінің OLE серверінің активация тәсілімен ерекшелінетін бірнеше түрлері бар. OLE 1 нұсқасы серверді жеке терезеде жүктейді. OLE 2 in-place activation and editing үлестірдеі. Бұл жағдайда сервер клиент-қосымшасының "ішінде" жүктеледі, жүйелік меню түрін және құрал-жабдық сызғышын модификациялайды. OLE идеясының дамуы OLE automation пайда болуына әкеліп соқты. Клиент-қосымшасы сервер кодының бөлігін орындайды. Клиент-программасына орналасқан OLE объектісінің типі, сервер OLE-нің қандай нұсқасын ұстайтыны анықталынады.

 

12-сурет. OLE объектіні нықтау үшін Windows стандартты диалогы.

 

TOLEContainer объектісі System Палитра Компонент бетінде орналасады және OLE-контейнер қосымшсын құру үшін қажет. TOLEContainer OLE ішкі ұйымдастырумен байланысты барлық күрделікті жояды және программалаушыға қарапайым интерфейсті ұсынады.

OLE объектіні қолданып қарапайым қосымша тұрғызайық. Жаңа жоба құрып және оны TOLEContainer формасына орналастырыңыз, ал Объектілер Инспекторында ObjClass немесе ObjDoc қасиеттеріне тышқанмен екі рет шертіңіз - Windows "Insert Object" стандартты диалогы пайда болады (сур 20 қараңыз).

Бұл диалогта OLE-сервер жүйесіндегі барлық тіркелушілердің тізімі бар (тіркелу программаның инсталляциясы кезінде болады). OLE-объект типі Сіз көрсеткен сервермен анықталынады. Егер Сіз жаңа объект (Create New) құрсаңыз, онда OK батырмасын басқан кезде жаңа объект қалыптастырылатын OLE-сервер программасы қосылады. Сервер-программасынан шыққаннан кейін программаға жаңа OLE объект қосылады (embedded object). OLE-сервер форматындағы бір файлды қолданып, OLE объект құруға болады. Ол үшін Create from File пунктін таңдау керек. (Сурет 13. қараңыз).

13-сурет. Файлда сақталынатын OLE-объектіні таңдау.

Таңдалған объектіні Link пунктін белгілеп қосымшаға қосуға да, брікітіруге де болды. Енді біздің жобаны құру кезінде Microsoft Word Document таңдап жаңа объект құрамыз (Сурет 14). ОК батырмасын басыңыз, содан кейін MS Word іске қосылады, кез келген мәтінді теріңіз ("Это OLE-объект Microsoft Word document"). Меню жұмысының аяқтау үшін, арнайы пункт бар "File|Close and Return to Form1" (Win'95+MS Word 7.0). Жобаны іске қосыңыз, ол мына түрде болуы мүмкін:

14-сурет. OLE-контейнермен қарапайым қосымша.

OLE-контейнерді тышқанмен екі рет шертіңіз - OLE-объектіден құжаты бар MS Word жүктелінеді. Оған өзгеріс енгізуге болады, бұл жағдайда барлық өзгертулер OLE-объектіде сақталынады.

Егер дизайн кезінде Сіз объектіні OLE-контейнерге қосу үшін таңдасаңыз, онда ол толығымен, (FORM1.DFM) формасындғы файлға жазылады және болашақта EXE файлға өзгереді. Дизайн кезінде объектілер үлкен болса, онда ол ұзақ уақыттық паузаға және "Out of resource" қатесінің пайда болуына әкеп соғады. Сондықтан үлкен объектілерді біріктіру ұсынылады (linked).

TOLEContainer программада объектіні тікелей емес (көбею немесе азаюдың әртүрлі деңгейлері - Zoom қасиеті) немесе пиктограмма түрінде кескіндеуге мүмкіндік береді.

OLE-объектісін таңдау тек дизайн кезінде ғана емес, программаның орындалу кезінде де болады (бұл жөнінде кейінірек айтамыз). Осы объектпен жұмыс істеу нәтижесін файл түрінде сақтауға болады және келесі кезекте оны ол жақтан қайта келтіруге болады, ол үшін TOLEContainer-дің екі әдісі бар SaveToFile және LoadFromFile.

15-сурет. MDI OLE қосымшсы.

15-суретте OLE объектісімен екі балалық терезесі бар MDI қосымшасының мысалы көрсетілген. Жаңа ОLE объект құру үшін менюден File|New және одан әрі Edit|Insert Object пункттерін таңдау керек. OLE объектіні инициализациялау үшін Windows стандартты диалогы пайда болады. Егер OLE-сервер қосымшасының Clipboard-та OLE объект жөнінде ақпарат сақтау мүмкіндігі болса, онда объектіні қайта инициализациялауды менюдің Edit|Paste Special пункт көмегімен орындауға болады.

OLE объектіге drag-and-drop техникасын қолдану мүмкіндігі қызықты болады. MS Word (оны терезеге OLE қосымш көрінетіндей орналастыру) жүктеңіз, кез келген мәтін теріңіз, оны тышқан көмегімен белгілеп, бас MDI қосымша терезесіне апарыңыз. Осы мәтіні бар OLE контейнерлі балалық терезе пайда болады. Бұл мүмкіндікті программалау күрделі. Осы берілген OLE тұрғызу технологиясының толық жазбасы Delphi (User's guide) жинақ құжатында бар, бұған жеке бөлім арналған.

Негізгі әдебиет [2], бет 700-711

Қосымша әдебиет [4], бет 141-169

Бақылау сұрақтары

1. OLE объект дегеніміз не?

2. TOLEContainer объектісін сипаттаңыз.

3. Деректер қорында OLE объектіні сақтау қалай іске асырылады.

4. OLE технологиясын сипаттаңыз.

5. Жоғарыда көрсетілген технологияны салыстырыңыз, жақсы жақтарын анықтаңыз.

Дәріс 18. ADO - ActiveX Data Objects технологиясы.

18.1 ADO технологиясының негіздері.

Бұл дәрісте біз ADO-мен жұмысты қарастырамыз. Біз сол сияқты dbGo - бастапқыда ADOExpress деп аталған Delphi компонент жиынның қарастырамыз. Бірақ Delphi 6 оның аты өзгертілді, себебі Мicrosoft компаниясы, басқа жақтағы өндірушілер құрған ADO белгісін өнімде қолдануға қарсы тұрды. Delphi ортасында сіз dbGo көмегінсіз ADO-мен жұмыс істей аласыз. Сіз ADO типіндегі кітапханаларды импорт жасай алады және ADO интерфейстеріне тікелей қатынас жасай аласыз. Дәл осылай Delphi 5 нұсқасы пайда болғанға дейін Delphi-де ADO-мен жұмыс істеу іске асырылды. Бірақ мұндай жақындау сізге тұрғызылған Delphi деректер қорымен әрекеттескен инфрақұрылым артықшылықтарын қолдануға мүмкіндік бермейді. Негізінен сіз деректермен жұмыс істеу үшін арнайы арналған басқару элементтерін қолдана аламайсыз, сонымен қатар сізге DataSnap технологиясына қатынауға рұқсат болмайды. Осы дәрістің барлық мысалында ADO-мен әрекеттесу үшін dbGo қолданылады. Біріншіден, dbGo Delphi стандартты жеткізу комплектісіне кіреді, екіншіден, dbGo өте ыңғайлы технология болып табылады.

dbGo басқа сіз ADO-мен әрекеттесу үшін көптеген басқа да өнімдерді қолдана аласыз. Мысалы олар басқа өндірушілермен құрылған Adonis, AdoSlutio, Diamond ADO және Kamiak .

Бұл дәрісте келесі сұрақтар қарастырылады:

· Microsoft Data Access Components (MDAC);

· Delphi dbGo;

· (Data link files) деректермен байланыс файлдары;

· схема жөнінде ақпарат алу;

· Jet механизмін қолдану;

· транзакцияны өңдеу;

· дискіде өшірілген және сақталған жазба жиыны;

· портфель моделі және MDAC орнату.

OLE DB провайдері.OLE DB провайдері деректер көзіне қатынауды қамтамасыз етеді. bExpress бұл мақсат үшін драйверлер қолданылады, ал BDE - SQL Links байланысы. MDAC орнату процесінде, жүйеде 1 кесте келтірілген OLE DB провайдерлері автоматты түрде орнатылады.

 

Драйвер Провайдер Сипаттамасы
MSDASQL ODBC Drivers ODBC драйверлері (үнсіздік бойынша)
Microsoft.Jet.OLEDB.3.5 Jet 3.5 Тек MS Access 97 деректер қоры
Microsoft.Jet.OLEDB.4.0 Jet 4.0 MS Access деректер қоры және басқа ДҚ
SQLOLEDB SQL Server MS SQL Server деректер қоры
MSDAORA Oracle Oracle деректер қоры
MSOLAP OLAP Services Online Analytical Processing
SampProv Sample provider CSV файлдары үшін ОLE DB провайдер мысалы
MSDAOSP Simple provider Қарапайым мәтін деректері үшін сіздің жеке провайдерді құру

11-кесте. MDAC құрамына кіретін OLE DB провайдерлері.

 

Осы провайдерлердің тізімі:

· ODBC OLE DB - ODBC кері сыйымдылық үшін қолданылады. ADO жұмысымен толық танысқаннан соң, сіз осы провайдерге қатысты шектеулерді білесіз.

· Jet OLE DB - MS Access және басқа локальды деректер қорын ұстану. Бұл провайдерді алда қарастырамыз.

· SQL Server - SQL Server 7, SQL Server 2000 және Microsoft Database Engine (MSDE) әрекетті қамтамасыз етеді. MSDE - көптеген құралдар жоқ SQL Server жеңілдетілген нұсқасы, сонымен бірге деректер қорына бір уақытта бестен көп пайдаланушы қосылған жағдайда, өнімділікті төмендететін арнайы код қосылған. MSDE артықшылығына осы механизмді жатқызуға, себебі бұл механизм тегін таратылады және SQL Server толығымен сыйысады.

· OLE DB - ОLAP үшін тікелей қолданылады, бірақ оған үндеу ADO Multi-Dimentional (ADOMD) арқылы іске асырылады. ADOMD - бұл Online Analytical Processing (OLAP) үшін құрылған ADO қосымша технологиясы. Егер сіз бұрын Delphi Decision Cube, Excel Pivot Tables немесе Access Cross Tabs жұмыс істесеңіз, онда сіз OLAP бір формасымен жұмыс істедіңіз. Осында айтылған провайдерлерден бөлек Microsoft компаниясы, басқа өнімдердің немесе SDK құрамына кіретін OLE DB басқа провайдерлерімен қатысады.

· Active Directory Services OLE DB - АDSI SDK құрамына кіреді; AS/400 OLE DB және SAM OLE DB - SNA Server құрамына кіреді; Exchange OLE DB - Microsoft Exchange 2000 құрамына кіреді.

· Indexing Service OLE DB - Microsoft Indexing Service құрамына кіреді - файлдық ақпараттан каталог тұрғызу көмегімен файлда ақпаратты іздеуді жылдамдататын Windows ішкі механизмі. Indexing Service индекстеу қызметі IIS-те интеграцияланған және веб-түйіндерді индекстеу үшін қолданылады.

· Internet Publishing OLE DB құрушыларға http қолданып файлдар және каталогтарды манипуляциялауға мүмкіндік береді.

· Сол сияқты қызмет көрсету провайдері (service providers) деп аталатын OLE DB провайдер категориялары бар. Атына қарай бұл провайдерлер OLE DB басқа провайдерлеріне қызметті қамтамасыз етеді және программисттің қатысуынсыз автоматты түрде активтендіреді. Мысалы, Cursor Service қызметі сіз курсорды клиент жағында құрсаңыз активтендіріледі, ал Persistent Recordset провайдері активтендіріледі, егер сіз деректерді локальды дискіде сақтасаңыз.

Осы айтылған провайдерлерден өзге MDAC үшін OLE DBбасқа провайдерлері бар. OLE DB провайдерлерін Microsoft алған сияқты, басқа да тәуелсіз өндірушілерден алуға болады. OLE DB провайдерлерінің тізімі өте үлкен және үнемі өзгеріп тұрады. Тәуелсіз өндірушілерден өзге OLE DB провайдерлерін жеткізуді және ұстауды RDBMS жүйесінің өндірушілері іске асырады. Мысалы, Oracle компаниясында ORAOLEDB деп аталатын OLE DB жеке провайдері бар.

dbGo компоненттің қолдану.

Тәжірибелік мысал.

16-сурет. Қосылу жолының редакторы.

Формаға ADOTable компоненттің орналастырамыз. Деректер қорын индикациясы үшін ADO рамкасында қосылу жолдары қолданылады (connection strings). Егер сіз не істеп отырғанызды білсеңіз, онда қосылу жолын қолмен терсеңіз болады. Бірақ жалпы жағдайда қосылу жолын құру үшін арнайы редакторды (редактор свойства ConnectionString) қолдану ұсынылады, оның жұмыс терезесі 16 суретте көрсетілген.

Microsoft компаниясымен өңделген қосылу жолының редакторын іске қосу үшін Build (Қалыптастыру) шерту керек. Оның жұмыс терезесі 16 суретте көрсетілген. Бұл ADO жұмыс кезінде қажетті құрал болғандықтан, осы құралды толық қарастырайық. Бірінші бетінде OLE DB провайдері және сіздің компьютерде орнатылған қызмет көрсету провайдерлері. MDAC әртүрлі нұсқасы үшін провайдер тізімі әртүрлі болады, сонымен бірге, жаңа провайдерлер компьютерде жаңа қолдаңбалы программаны орнату кезінде тізімде пайда болады. Біздің мысалға оралайық. Jet 4.0 OLE DB провайдерін таңдаңыз - ол үшін Jet 4.0 OLE DB Provider жазуын екі рет шертіңіз, экранда Connection (Қосылу) беті пайда болады. Бұл беттің сыртқы түрі әртүрлі провайдер үшін әртүрлі болады. Jet провайдері үшін редактор сізге деректер қорының атын енгізуді және деректердің аутентификациясын ұсынады. Сіз Delphi (мысалы, C:\Program Files\Common Files\Borland Shared\Data\dbdemos.mdb) жеткізу комплектісіне кіретін Access деректер қорындағы MDB файлын таңдай аласыз. Сіздің таңдауыңыз дұрыс екенін білу үшін Test Connection (Қосылуға тест жасау) батырмасын шертіңіз.
Advanced (Қосымша) бетінде сіз деректер қорына қатынау режимін бақылай аласыз. Бұл жерде сіз оқу үшін қатынауды келтіре аласыз. All (Барлығы) бетінде қосылу жолының барлық параметрлері айтылады. Бұл тізім әртүрлі OLE DB провайдерлері үшін әртүрлі. Бұл бетті жақсылап еске сақтаңыз, себебі оның көмегімен әртүрлі мәселелерді шешуге болады. Microsoft редакторан жауып, сіз Borland қосылу жолының редакторына келесіз. Бұл редактордың жұмыс терезесінде ConnectionString меншіктелетін жол көрсетіледі. (мұнда біз оқуға жеңіл болу үшін оны бірнеше жолға бөлдік):

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Program Files\Common Files\Borland Shared\Data\dbdemos.mdb; Persist Security Info=False

 

 

17-сурет. Microsft қосылу жол редакторының бірінші беті.

Курсормен жұмыс істеу.

ADO әрбір деректер жиынында бір-бірімен байланысқан екі қасиет бар және олар біздің қосымшаға әсер етеді. Бұл CursorLocation және CursorType қасиеттері. Егер сіз ADO деректер жиынын қалыптастыру принципін түсінгіңіз келсе, онда сіз осы екі қасиетті оқып білуіңіз қажет.

Курсордың орналасуы (CursorLocation қасиеті).

CursorLocation қасиеті деректер қандай жолмен алынады және модификацияланады соны анықтайды. Бұл қасиетке екі мәннің бірін меншіктеуге болады: clUseClient (курсор клиент жағында) немесе clUseServer (курсор сервер жағында). Мәнді таңдау көп деңгейде деректер қорының қалыптасуына, өнімділігіне және масштабына әсері бар. Клиент курсоры ADO Cursor Engine курсорымен қызмет көрсетіледі. Бұл механизм OLE DB қызмет көрсету провайдерінің мысалы. Ол OLDE DB басқа провайдерлеріне қызмет көрсетеді. ADO Cursor Engine механизмі клиент жағында деректерді өңдеуді басқарады. Деректер жиынның ашқан кезде нәтижеленетін жиынның барлық деректері серверден клиент компьютеріне өтеді. Осыдан кейін деректер жадыда сақталынады, оларды жаңарту және өңдеу ADO Cursor Engine қолданумен іске асырылады. Бұл жақындау dbExpress қосымшасында ClientDataSet қолдануды еске түсіреді. Артықшылығы мынада, клиент жағына деректерді жібергеннен кейін, осы деректерге орындалатын кез келген манипуляция тез болады. Сонымен қатар, манипуляция жадыда орындалғандықтан сервер жағында жұмыс істейтін кез келген курсорға қарағанда ADO Cursor Engine кең мүмкіндіктері бар. Сервер жағындағы курсор RDBMS жүйесімен басқарылады. Мынадай өнімдерге негізделген клиент-сервер архитектурасында SQL Server, Oracle немесе InterBase, бұл нені білідерді, курсорды басқару алыстатылған компьютер серверінде іске асырылады. Сөз Access немесе Paradox деректер қоры жөнінде болғандықтан, серверлік курсор деректер қорына қызмет көрсететін программалық өніммен басқарылады. Логикалық курсор «сервер» орналасқан, бірақ деректер қоры курсормен бірге клиент компьютерінде орналасады. Ереже бойынша, сервер курсорлары клиент курсорына қарағанда тез жүктеледі. Серверлік курсормен деректер жиынның ашқан кезде барлық деректерді клиент жағына орналастыру қажетті емес. Осыған қатысты серверлік курсорлар үлкен деректер жиынына қызмет көсретуге ыңғайлы, ал клиент компьюетрінде үлкен деректер жиынын сақтау үшін жады көлемі жеткіліксіз. Екі типтің де курсор мүмкіндіктерін түсіну үшін, олар жағдайларда қалай қалыптасады соны көру керек. Мысалы, жазбаны блоктау жағдайын қарастырайық (Егер сіз жазбаны блоктағыңыз келсе, онда сізге серверлік курсор керек болады.)

Тағы бір көңіл бөлетін сипаттама, ол курсордың орналасуын таңдау болып масштабтау табылады. Серверлік курсорлар сервер жағында орналасады. Деректер қорына қанша пайдаланушы қосылса, сонша курсор серверде құрылады. Әр жаңа курсормен бірге серверге жүктеме өсе түседі. Сонымен қатар, пайдаланушы саны көбеюіне қарай, жүйенің жалпы өнімділігі төмендеуі мүмкін. Клиент жағында курсорды қолданып, сіз өзіңіздің қосымшаның масштабтылығын жоғарлатасыз. Клиенттік курсорды ашу сізге қымбатқа түседі. Себебі ашылу процесі кезінде барлық деректер клиент жағына кетеді, осымен байланысты негізгі жүктеме клиент компьютеріне артылады.

Негізгі әдебиет [2], бет721-739

Қосымша әдебиет [4], бет 171-190

Бақылау сұрақтары

1. MDAC технологиясын сипаттаңыз.

2. ADO технологиясын сипаттаңыз..

3. ADO жүйесінде OLE DB провайдері қалай қолданылады?

4. ADO жүйесінде dbGo компоненті қалай қолданылады?

5. Жоғарыда көрсетілген технологияныалдыңғы технологиямен салыстырыңыз, жақсы жақтарын анықтаңыз.

 

Дәріс 19. BDEBorland Database Engine технологиясы.

19.1 BDE мәні.

Бұл дәрісте біз Борланд компаниясының деректер қоры ядросымен - Borland Database Engine (BDE) танысамыз, сол сияқты алиас құруды және редактірлеуді үйренеміз. Алиас – механизмі деректер қорымен байланысты жеңілдетеді. Сонымен қатар, біз ODBC драйверлерін конфигурациялауды үйренеміз.

Деректер қорымен жұмыс істеген кезде Delphi қуаттылығы мен иілгіштігі төменгі деңгейдегі ядро – процессорына Borland Database Engine (BDE) негізделген. Қолдаңбалы программамен оның интерфейс Integrated Database Application Programming Interface (IDAPI) деп аталынады. Қазіргі кезде осы екі аталудың (BDE и IDAPI) айырмашылығы жоқ және оларды синоним деп есептейді. BDE әдететгі record-бағдарланған жақындауды қолданған сияқты деректерге қатынауды іске асыруға мүмкіндік береді. Сол сияқты SQL - сервер деректер қорында қолданылатын set-бағадарланған жақындауды қолдануға болады. BDE басқа, Delphi - Microsoft фирмасының Open DataBase Connectivity (ODBC) технологиясын қолданып деректер қорына қатынауға мүмкіндік береді. Тәжірибе көрсеткендей, BDE қолданатын жүйе өнімділігі жоғары. ODBC драйверлері BDE тұрғызатын "ODBC socket" арқылы жұмыс істейді.

Borland деректер қорының - Paradox, dBase, Database Desktop барлық құралдары ВDE қолданады. Paradox немесе dBase барлық ерекшеліктер BDE «қалған» және сондықтан Delphi осы ерекшеліктерге ие.

18-сурет. BDE конфигурация утилитасының бас терезесі.

19-сурет. Диалог терезесінде жаңа алиас үстемелеу үшін алиас атын және деректер қоры типін көрсету керек.

Жаңа алиас құрған соң оның аты "Aliases" бетіндегі алиас тізімінен пайда болады. Бірақ жай ғана алиас құрған жеткіліксіз. Сізге қосымша ақпаратты көрсету керек, оның мазмұны таңдалған деректер қоры типіне сәйкес болу керек. Мысалы, Paradox және dBase (STANDARD) деректер қоры үшін деректерге қатынауды көрсеткен жеткілікті:

TYPE STANDARD
PATH c:\users\data

InterBase SQL-сервері оншақты параметрге тапсырма талап етеді, олардың көбісін үнсіздік бойынша орнатылған етіп қалдыруға болады (көбінесе SERVER NAME және USER NAME параметрлерін):

 

TYPE INTRBASE
PATH  
SERVER NAME myserv:g:\users\contacts.gdb
USER NAME SYSDBA
OPEN MODE READ/WRITE
SCHEMA CACHE SIZE
LANGDRIVER Pdox ANSI Cyrillic
SQLQRYMODE  
SQLPASSTHRU MODE SHARED AUTOCOMMIT
SCHEMA CACHE TIME -1

Бұл мысалда CONTACTS.GDB деректер қоры MYSERV деп аталынатын NT серверінің G Windows дискісінде орналасқан USERS директориясына орналасады. Деректер қорымен байланысқан пайдаланушы аты осы алиас бойынша - SYSDBA. Қалған - LANGDRIVER, SQLQRYMODE, SQLPASSTHRU MODE, SCHEMA CACHE SIZE и SCHEMA CACHE TIME параметрлерін толық қарастырайық.

LANGDRIVER параметрі деректер қорына қатынау үшін тіл драйверін анықтайды. dBase форматындағы деректер қорымен жұмыс кезінде орыс әріптерімен дұрыс жұмыс істеу үшін "dBASE RUS cp866" мәнін, ал Paradox және SQL-серверлермен (соның ішінде InterBase) форматындағы деректер қорымен жұмыс кезінде - "Pdox ANSI Cyrillic" мәнін таңдау керек Сонымен қатар, InterBase деректер қорын құру кезеңінде міндетті түрде CHARACTER SET (символдар жиыны) WIN1251 көрсету керек.

SQLQRYMODE параметрі тек мына жағдайда пайда болады, егер SQL-сервер байланысы үшін Borland SQL Links орнатылса. Ол SQL-сұраныс беріліс режимін анықтайды және үш мәні болады:

· NULL (бос жол - үнсіздік бойынша режим) - сұраныс бастапқыда SQL-серверге жіберіледі. Егер сервер сұранысты орындай алмаса, соңғысы локальды өңделеді (бұл таратылған деректер қоры үшін);

· SERVER - сұраныс SQL-серверге жіберіледі. Егер сервер сұранысты орындай алмаса, онда қате генерацияланады;

· LOCAL - сұраныс ылғи жұмыс станциясында орындалады.

SQLPASSTHRU MODE параметрі серверге (passthrouh SQL, set-бағдарланған жақындауды қолданады) жіберілетін сұраныстар және стандартты BDE шақырулары (record- бағдарланған навигациялы жақындауды қолданады) деректер қорымен бір жерде өңделгені - "SHARED" болады. Онда да үш мән бар:

· SHARED AUTOCOMMIT (үнсіздік бойынша мән) - кестенің бір жолында әр операция үшін автоматты түрде транзакция іске қосылады, сәтті болған жағдайда COMMIT (туынды өзгерістерді бекітеді) операторымен аяқталынады. Мұндай жақындау локальды деректер қорымен жұмыс үшін жақсы келеді, бірақ SQL-серверлі деректер қоры үшін эффектілі, себебі іске қосылатын жаңа транзакциялар әр кезде желілік траффикті жүктейді.

Еске аламыз SQLQRYMODE, SQLPASSTHRU MODE, SCHEMA CACHE SIZE и SCHEMA CACHE TIME параметрлерін үнсіздік бойынша орнату, деректер қорымен жұмыс істеудің жеткілікті оптимальды режимін қамтамасыз етеді. Нақты деректер қорының жұмыс істеуіне эксперимент жасауды BDE жұмыс істеу тәжірибесі көбейгеннен кейін бастау керек.

SERVER NAME маңызды параметріне тоқталайық. Мұнда тек сервер аты ғана емес (сіздің деректер қорыңыз орналасқан) және қорға қатынаудың толық жолы мен желілік хаттамасы көрсету керек. BDE келтіру утилитасын құрушылар хаттаманы жеке параметрге бөлуді қажет етті, сондықтан келесі тұжырымдарды қолдану керек:

· TCP/IP- IB_SERVER:PATH\DATABASE.GDB протоколы бойынша қатынау үшін.

Мысалы, Windows NT серверінде деректер қорына жол келесі түрде болады - IPX/SPX- IB_SERVER@PATH\DATABASE.GDB протоколы бойынша қатынау үшін.

Мысалы: mynw@sys:ib\base.gdb;

· NETBEUI- \\IB_SERVER\PATH\DATABASE.GDB протоколы бойынша қатынау үшін.

Мысалы: \\mynt\c:\ib\base.gdb.

Бұл мысалдағы mynt - Windows NT серверінің аты, myunix - UNIX-жүйе серверінің аты, mynw - Novell NetWare сервер аты, sys – NetWare том аты, ib – деректер қоры орналасқан директория, base.gdb – InterBase деректер қоры аты. Oracle сервер атын дұрыс көрсету үшін, Oracle атын ереже бойынша жазу керек – ат алдында @ қойылады. Ескерту. SQL-серверлі деректер қорына қатынау кезінде PATH параметрі бос болу керек, әйтпесе деректер қоры ядросы Сіздің деректер қорының жолын анықтайды және қате генерацияланады.

Үнсіздік бойынша мән WIN.INI файлының [intl] секциясындағы sDate параметрінен алынады.

· MODE - мерзімде ай, күн мен жыл ретін басқарады және мәні мынадай болуы мүмкін: 0 - MDY (ай-күн-жыл) үшін, 1 - DMY (күн-ай-жыл) үшін немесе 2 - YMD (жыл -ай-күн) үшін. SysUtils айнымалы модулына тікелей қатысы жоқ. Оның орнына, сол сияқты FOURDIGITYEAR, YEARBIASED, LEADINGZEROM және LEADINGZEROD параметрлері орнына ShortDateFormat (string[15]) және LongDateFormat (string[31]) айнымалылары қолданылады. Бұл айнымалыларда тек мерзімнің (DateSeparator) бөлу-символы және ай, күн мен жылды анықтайтын 'm', 'mm', 'd', 'dd', 'yy' и 'yyyy' типіндегі символдық айтылулар қолданылады. Мысалы, "қысқа" мерзім форматы - "dd.MM.yy"сияқты, ал "ұзын" мерзім форматы -"d MMMM yyyy 'г.'" осы түрде болады. Үнсіздік бойынша мән WIN.INI файлының [intl] секциясындағы sShortDate және sLongDate параметрлерінен алынады. Мұнда бір ескерту айтып кеткен жөн. Күн мен уақытты бөлу-символы ретінде кескіндеген кезде кез келген символды, соның ішінде DateSeparator (немесе TimeSeparator) символын қолдануға болады. Бірақ мұндай форматта күн немесе уақытты қойған кезде, күн/уақыттың дұрыс емес форматымен байланысты BDE қате "береді". Сондықтан кестеге деректерді дұрыс қою үшін ShortDateFormat айнымалысында бөлу-символы DateSeparator символымен, ал LongTimeFormat (и ShortTimeFormat) айнымалысында - TimeSeparator символымен ұқсас бөлу керек .Күн және уақыт форматтарымен жұмыс істеуді білу үшін дискідегі DateTime программасын қараңыз (21 сурет). Сіз оны өзіңіздің директорияңызға көшіре аласыз және шығыс деректері мен көрініспен эксперимент жасай аласыз.

· Time: Уақытта жол мәндерін конвертация кезінде қолданылатын келтіруді анықтайды және кері. WIN.INI ([intl]секциясы) файлында тиянақталған және әр мемлекет үшін келтірілген мәндерге негізделген. Мерзімге ұқсас, уақыт форматы үшін ShortDateFormat бірге используются переменные LongTimeFormat (көңіл бөлеміз – турасы LongTimeFormat, ShortTimeFormat емес) және TimeSeparator айнымалылары қолданылады. Үнсіздік бойынша мән WIN.INI файлының [intl] секциясындағы iTime және iTLZero парметрлері бойынша есептелінеді. Көрсетілген айнымалылардан өзге, форматтау үшін TimeAMString ([intl] секциясының s1159 параметріне негізделген) және TimePMString ( [intl] секциясының s2359 параметріне негізделген ) айнымалыларын қолдануға болады.

· Number: BDE мәндерінің трактовкасын сипаттайды. Негізінен ондық нүкте үшін символды ([intl] секциясының sDecimal параметріне негізделген DecimalSeparator айнымалысы), мыңдықтарды бөлуді ([intl] секциясының sThousand парметрінде ThousandSeparator айнымалысына негізделген), үтірден кейінгі сандар санын ([intl] секциясының sCurrDigits параметрінің CurrencyDecimals айнымалысына негізделген) анықтайды.

Негізгі әдебиет [2], бет 740-751

Қосымша әдебиет [4], бет 191-209

Бақылау сұрақтары

1. DE технологиясын сипаттаңыз.

2. «Алиастар» дегеніміз не?

3. BDE келтіру утилиталары қалай келтіріледі?

4. ODBC драйверін орнату қалай іске асырылады?

5. Жоғарыда көрсетілген технологияны алдыңғы технологиямен салыстырыңыз, жақсы жақтарын анықтаңыз.

Дәріс 20. ADO.NET технологиясы.