8 Lucrul cu bd în Delphi

2. Configurați aliasul utilizând BDE.

3.Organizovat cerere la baza de date, folosind Tquery.

Pentru recomandări de implementare și o descriere a setului de instrumente software, vedeți mai jos.

8.1 Motor de bază de date Borland (BDE)

Luați în considerare Borland Database Engine (BDE) - nucleul bazei de date a companiei Borland, și să învețe cum să creeze și redaktirovataliasy - un mecanism pentru a facilita comunicarea cu baza de date. În plus, vom învăța cum să configurați driverele ODBC.

8.1.1 Esența BDE

Puterea și flexibilitatea Delphi atunci când se lucrează cu bazele de date se bazează pe un kernel de nivel scăzut - procesorul bazei de date pentru baza de date Borland (BDE). Interfața sa cu programele de aplicații se numește Interfața de programare a aplicațiilor bazei de date integrate (IDAPI). În principiu, acum aceste două nume (BDE și IDAPI) nu se disting și sunt considerate sinonime. BDE vă permite să accesați date utilizând atât abordarea tradițională orientată pe înregistrare (navigare) cât și abordarea orientată pe seturi folosită în serverele de baze de date SQL. În plus față de BDE, Delphi permite accesul la baze de date utilizând tehnologia (și, în consecință, driverele) Open DataBase Connectivity (ODBC) a Microsoft. Dar, după cum arată practica, performanța sistemelor care utilizează BDE este mult mai mare decât cea a utilizării ODBC. Driverele ODBC funcționează printr-o "socket ODBC" specială, care le permite să fie încorporate în BDE.

Toate instrumentele de baze de date bazate pe baza de date Borland-Paradox, dBase, utilizează BDE. Toate caracteristicile disponibile în Paradox sau dBase sunt "moștenite" de BDE și, prin urmare, Delphi are aceleași caracteristici.

8.1.2 Aliasuri

Tabelele sunt salvate în baza de date. Unele baze de date a stoca baza de date sub formă de mai multe fișiere individuale reprezentând un tabel (în principiu, toate SGBD locale), în timp ce altele constau dintr-un singur fișier care conține toate tabelele și indexurile (Interbase). De exemplu, tabelele dBase și Paradox sunt întotdeauna stocate în fișiere separate de pe disc. Un director care conține fișiere dBase .DBF sau fișiere Paradox.DB este tratat ca bază de date. Cu alte cuvinte, orice director care conține fișiere în format Paradox sau dBase este tratat de Delphi ca o singură bază de date. Pentru a comuta la o altă bază de date, trebuie doar să comutați la alt director. După cum sa menționat mai sus, InterBase salvează toate tabelele într-un singur fișier cu extensia .GDB. astfel încât acest fișier este baza de date InterBase.

Este convenabil nu doar să specificați calea de acces la tabelele bazei de date, ci să folosiți în acest scop un anumit substituent - un pseudonim numit pseudonim. Acesta este salvat într-un fișier de configurare separat în orice loc de pe disc și vă permite să excludeți din program indicația directă a căii către baza de date. Această abordare face posibilă localizarea datelor oriunde, fără a recompila programul. Pe lângă calea de acces, aliasul specifică tipul bazei de date, driverul de limbă și multe alte informații de control.

Prin urmare, utilizarea de pseudonime permite tranziția ușoară de la bazele de date locale la o bază de date SQL-server (în mod natural, atunci când cerințele aplicației pentru client și server de separare).

Pentru a crea alias rula BDE utilitarul de configurare (programul BDECFG.EXE), situat în directorul, care sunt aranjate biblioteci dinamice BDE.

În mod implicit, când instalați Delphi, este creat un director IDAPI în care sunt localizate bibliotecile specificate; în timp ce icoana cu BDECFG va fi neapărat prezentă în grupul Delphi.

Fereastra principală a utilitarului de configurare BDE are forma prezentată în Fig. Pentru a crea un alias, selectați pagina "Aliasuri" și faceți clic pe "Alias ​​nou". În caseta de dialog care apare, introduceți numele aliasului și selectați tipul acestuia (tipul bazei de date) din lista derulantă. alias poate fi un tip standard (standard) pentru a lucra cu bazele de date locale în format dBase sau Paradox sau sunt conforme serverul naimenovaniyuSQL (InterBase, Sybase, Informix, Oracle, etc).

8 Lucrul cu bd în Delphi

Fig. 1: Fereastra principală a utilitarului de configurare BDE.

În acest exemplu, baza de date CONTACTS.GDB este localizată în directorul USERS de pe unitatea de pe serverul Windows NT numită MYSERV. Numele de utilizator asociat cu baza de date pentru acest alias este -SYSDBA. Ceilalți parametri - LANGDRIVER, SQLQRYMODE, SQLPASSTHRU MODE, dimensiunea memoriei cache și SCHEMA CACHE TIMP SCHEMA privire mai atentă.

Parametrul LANGDRIVER specifică driverul de limbă pentru accesarea bazei de date. Pentru buna funcționare cu litere rusești, atunci când lucrează cu un format de date dBase, trebuie să selectați „cp866 dBASE RUS“, atunci când se lucrează cu datele de format de baze de date Paradox și SQL servere (inclusiv Interbase) - „Pdox ANSI chirilic“. În plus, în faza de creare a bazei de date Interbase trebuie să specifice CHARACTER SET (setul de caractere) WIN1251.

Parametrul SQLQRYMODE apare numai dacă Borland SQL Links este instalat pentru a comunica cu serverele SQL. Definește modul de trimitere a interogărilor SQL și poate avea trei valori:

NULL (șir gol - modul implicit) - cererea este trimisă mai întâi serverului SQL. Dacă serverul nu poate îndeplini cererea, serverul este procesat local (acest lucru este valabil pentru bazele de date distribuite);

SERVER - cererea este trimisă serverului SQL. Dacă serverul nu poate îndeplini cererea, se generează o eroare;

O solicitare LOCAL se face întotdeauna pe stația de lucru.

Parametrul SQLPASSTHRU MODE determină dacă cererile pot transmise pentru executarea pe un server (SQL passthrouh, folosind o abordare orientată spre set) și standard de apeluri BDE (folosind abordarea de navigare orientată spre înregistrare) prelucrate în aceeași sesiune conexiune la baza de date (în aceeași "conexiune") - să fie "SHARED". Poate avea și trei semnificații:

SHARED AUTOCOMMIT (implicit) - pentru fiecare operațiune pe același rând tabel începe automat o tranzacție implicită, care, dacă are succes, se termină cu COMMIT (de stabilire a modificărilor). Această abordare este cea mai potrivită pentru lucrul cu bazele de date locale, dar este ineficientă pentru bazele de date SQL Server, deoarece tranzacțiile noi care încep de fiecare dată încarcă în mod semnificativ traficul de rețea.

SHARED NOAUTOCOMMIT- Cererea trebuie să înceapă și să încheie în mod explicit tranzacția. Această configurare poate duce la conflicte într-un mediu cu mai mulți utilizatori în care un număr mare de utilizatori încearcă să actualizeze același rând de tabele.

NU SHARED- înseamnă că solicitările transmise către serverul de executare (SQL passthrouh), și standard de apeluri (metode Delphi) BDE folosind compusul izolat ( „CONNECT“) bază de date. Pentru a gestiona tranzacțiile efectuate prin intermediul „SQL passthrouh“ ar trebui să fie setat această valoare, în caz contrar „SQL passthrouh“ și metodele de Delphi pot interfera unele cu altele, care, la rândul său, poate duce la rezultate imprevizibile.

Parametrul SCHEMA CACHE SIZE specifică numărul de tabele de baze de date ale căror informații privind structura vor fi stocate în cache, oferind acces rapid la metadate. Valoarea acestui parametru poate fi un număr întreg de la 0 la 32. Valoarea implicită este 8.

Parametrul SCHEMA CACHE TIME specifică perioada de timp în care informațiile din tabelele bazei de date vor fi stocate în cache. Pot avea următoarele valori:

-1 (valoare implicită) - informațiile din tabele sunt stocate în cache până când baza de date este închisă;

0 - Informațiile din tabele nu sunt stocate în memoria cache;

1 - 2,147,483,647 - informațiile din tabele sunt stocate în cache în timpul specificat (în secunde).

Să ne amintim că setările implicite SQLQRYMODE, SQLPASSTHRU MODE, dimensiunea memoriei cache și SCHEMA SCHEMA CACHE timp, oferă o funcționare destul de optimă a bazei de date. Experimentarea cu ei pentru a obține cea mai bună performanță dintr-o bază de date specifică este dorită numai după o anumită experiență cu BDE.

Să trăim în mai multe detalii cu privire la stabilirea unui astfel de parametru important ca SERVER NAME. În acesta trebuie să specificați nu numai numele serverului (pe care este localizată baza de date) și calea completă la baza de date, dar și protocolul de rețea. Creatorii utilitarului de configurare BDE nu au considerat necesar să se facă separarea protocolului într-un parametru separat, deci trebuie să utilizați următoarele expresii:

pentru acces prin protocolul TCP / IP - IB_SERVER: PATH \ DATABASE.GDB. De exemplu, calea către o bază de date pe un server Windows NT va arăta după cum urmează -mynt: c: \ ib \ base.gdb, precum și baza de date de pe server bazat pe UNIX -myunix: /ib/base.gdb;

pentru accesul IPX / SPX - IB_SERVER @ PATH \ DATABASE.GDB. De exemplu: mynw @ sys: ib \ base.gdb;

pentru acces prin protocolul NETBEUI - \\ IB_SERVER \ PATH \ DATABASE.GDB. De exemplu: \\ mynt \ c: \ ib \ base.gdb.

În aceste exemple, numele mynt- Windows NT Server, myunix- server de nume UNIX-sistem, numele mynw- Novell NetWare Server, un nume de Sys- volum NetWare, directoare în care se află IB-baza de date, base.gdb- numele bazei de date Interbase. În scopul de a identifica în mod corect numele serverului Oracle, trebuie să scrie numele Oracle de regulile - pentru a pune înainte numele @.

Notă. Când accesați bazele de date ale serverului SQL, parametrul PATH trebuie să rămână gol, altfel motorul bazei de date nu va putea determina calea adevărată la baza de date și va fi generată o eroare.







Articole similare

Trimiteți-le prietenilor: