Aliases
BDE
di Ken Mayer [dBASE, Inc.]
Creare un Alias BDE
Quando si usano tabelle
locali (.dbf), un Alias BDE non punta ad una particolare tabella o tabelle, ma
ad una particolare cartella (directory). Al contrario, un database di tipo SQL
non è specificamente una cartella: può essere, per esempio, un solo archivio che
contiene un insieme di tabelle. Questo perché il concetto di cartella per gli
Aliases BDE è pertinente solo a tabelle locali.
Per lavorare con le
tabelle ubicate in un certo percorso, usate un Alias BDE. Sotto ci sono i
passaggi da seguire. Le istruzioni date qui sono per dB2K, ma istruzioni molto
simili possono essere usate per la versione a 16-bit.
Un Alias BDE può essere
usato in due modi. Se state lavorando con database SQL Server (Interbase,
Oracle, ecc.), usate l'Alias BDE come un puntatore a quel database. Se state
usando tabelle locali, usate l'Alias BDE per trattare quelle tabelle locali come
se fossero un database SQL Server.
Perché dovreste usare
un Alias BDE?
Le seguenti sono alcune ragioni, ovviamente
potranno essercene altre…
Il vostro utente vuole spostare i dati in una differente directory. Tutto quello che sarebbe necessario in questo caso è cambiare il puntatore Alias BDE alla nuova directory e la vostra applicazione funzionerà senza alcuna modifica al codice sorgente.
Potreste avere bisogno di installare la vostra applicazione su una rete e non sapere precisamente dove andrà. Di nuovo, cambiate il percorso nell'Alias BDE è tutto quello che è necessario fare.
Potreste eventualmente avere la necessità di spostare i dati su un "backend Server" come Interbase, Oracle, … La cosa notevole è che potreste progettare interamente la vostra applicazione usando tabelle locali (se avete l'alias attivatelo), trasportare tutto sul server quando dovete installare l'applicazione ed anche in questo caso nessuna modifica alla vostra applicazione dovrebbe essere necessaria.
Il primo passo è creare un Alias BDE. Per fare questo, dovete lanciare il BDE Administrator (ci dovrebbe essere un'icona nella cartella di dB2K— doppio clic su di essa ) oppure andate sul menu Start|Impostazioni|Pannello di Controllo e fate doppio clic sull'icona di BDE Administrator.
In BDE Administrator, cliccate sulla "linguetta" Databases. La vista ad albero potrebbe essere non espansa, così cliccate sul “+”. In funzione dalle vostre impostazioni, potreste vedere o no un gruppo di Aliases già configurati. Quando installate dB2K diversi Aliases sono creati automaticamente, per esempio “Contax” e “dB2KSample”. Cliccate su “Contax” se esiste.
Sul lato destro dello
schermo dovreste vedere quattro opzioni di
configurazione:
Type: Standard
DEFAULT DRIVER: DBASE
ENABLE BCD: false
PATH: C:\Program Files\dB2K\Samples\contax\data
Queste sono importanti
informazioni per il vostro Alias. Il “Type” dovrebbe essere “ "Standard” per le
tabelle locali e potreste vedere (in funzione della vostra
installazione) altri tipi. Se controllate gli altri Aliases le
informazioni contenute si riferiscono alle tabelle del server e/o al driver. Se
state usando tabelle dBase, assicuratevi che il driver predefinito sia
“DBASE". Non avete bisogno probabilmente che sia abilitata l'opzione
"Enable BCD", così non preoccupatevi (vedete nella guida in linea se siete
curiosi). L'opzione “Path” è dove si trovano le
tabelle.
Nota: Se l'opzione “Type ” mostra è diversa da
“Standard”, potranno apparire altre opzioni.
Potreste esaminarle per farsi un'idea di quello
che vogliono dire per quello specifico server o driver.
Per creare
un nuovo alias, spostate il mouse sulla metà sinistra della schermata di
BDE Admistrator cliccate il tasto destro e dal menu contestuale che apparirà
selezionate l'opzione New... Scegliete "Standard" a meno che non abbiate bisogno
di selezionare ad esempio, “Interbase” ( notate, che se state usando local
InterBase e dConnections, usate il driver chiamato “INTRBASE”), e clic
“OK.”
Impostate l'opzione Default
Driver in “DBASE” (a meno che non stiate usando tabelle PARADOX ), e poi
cliccate sul pulsante “…” per impostare il percorso (path).
Vorrete
probabilmente dare a questo alias un nome diverso — sul lato sinistro dello
schermo, cliccate su “STANDARD1” e digitate un nuovo nome (ad es.
MyAlias).
A questo punto, avete creato
un Alias BDE.
Premete (Ctrl+A) e poi uscite da BDE Administrator, ciò salverà
le informazioni nel vostro file .CFG relativo alla configurazione di
BDE.
Se durante queste operazioni dB2K era attivo avete bisogno di
riavviarlo … altrimenti il nuovo Alias non apparirà.
Usare un Alias
BDE
Per usare un Alias BDE avviate dB2K, e nel Centro di Controllo selezionate la linguetta Tabelle. Nel combobox "Cerca in", selezionate il vostro nuovo Alias. (Se è selezionato, l'immagine mostrerà una “macchia” verde nell'icona che rappresenta un database.)
Invece di usare il mouse,
potete ottenere lo stesso risultato digitando nella finestra
comandi:
In XDML: OPEN DATABASE MyApp SET DATABASE TO MyApp In OODML: | |
Da questo punto in poi,
mentre state sviluppando, userete automaticamente questo Alias. Quando è il
caso, il nome del vostro Alias è sempre mostrato nel combox "Cerca In",
quando la linguetta Tabelle è selezionata. Qualche volta quando dB2K o una
applicazione va in crash, il database si chiude senza darne comunicazione,
quindi non state usando più il database selezionato. Così assicuratevi che il
nome dell'Alias sia mostrato nel campo "Cerca In".
Una volta
che un Alias BDE è stato selezionato, se trascinate e lasciate cadere (drag and
drop) una tabella dal Centro di Controllo su una scheda in fase di impostazione,
dBase aggiungerà automaticamente le seguenti linee di codice nel codice della
scheda:
Senza un Alias BDE: this.MY_TABLE1 = new QUERY() this.MY_TABLE1.parent = this with (this.MY_TABLE1) left = 100 top = 100 sql = 'select * from "My_Table.DBF"' active = true endwith Con un Alias BDE: this.MY_TABLE1 = new QUERY() | |
Alcuni suggerimenti
Usate l'oggetto database
con moduli dati, schede o report. Questo richiederà di assicurarvi che la
vostra query abbia la proprietà “database” che punti al corretto oggetto
database (il valore predefinito è “NULL”).
Nota: Se state
avviando un nuovo progetto, quanto suddetto viene fatto automaticamente — se
trascinate una tabella dal Centro di Controllo l'oggetto database sarà portato
sulla superficie di progettazione per la prima tabella... e la proprietà
database sarà riempita automaticamente.
Quando fate riferimento ad
una tabella senza usare l'oggetto database, dovete "ricordare" il
database, ciò può essere fatto usando la sintassi
seguente:
select * from
:MyAlias:SomeTable
oppure
use :MyAlias:SomeTable.
Nota i due punti che delimitano il
nome dell'Alias. Ciò è molto importante. Tutto questo presumendo che il
database sia aperto.
Se lavorate con progetti multipli potreste complicarvi un po' la vita, perché ogni database che aprite resterà aperto. Se chiudete dBase e poi in seguito riprendete a lavorare, dBase riaprirà i database che erano rimasti aperti al momento della chiusura, quindi prima di terminare nella finestra Comandi digitate CLOSE DATABASES . Tramite il comando precedente "spegneremo" tutti gli Alias BDE, cosi la prossima volta che lanciate dBASE non ci saranno database (Alias BDE) riaperti automaticamente.
Nota: L'autore ringrazia Steve Hawkins e David L. Stone, quali suoi correttori e per i miglioramenti apportati a questo documento.