Newsgroup: it.comp.lang.delphi
Titolo: Firebird AIUTO !!

Ciao a tutti ,
              ho scaricato la versione firbird 1.5 e durante l'installazione
mi ha chiesto di rimuovere l'interbase, cosi' ho fatto.
L'installazione mi ha proposto di installare o il superserver o la versione
classica ..... ho scelto il superserver !!!
Poi ho saricato un piccolo tutorial su come muovere i primi passi in
interbase (e con firbird, dato che i componenti di D6 funzionano anche con
firbird).
In seguito ho fatto un bel backup del mio progetto .... e poi ho cercato di
modificarlo con firebird.
Premetto che la mia esperienza con questo tipo di DB e' nuova ...., in
passato ho sempre usato la TTable dato che massimo si dovevano gestire poco
meno di 7-8000 record; detto cio' proseguiamo ....
Ho tolto la TTable e ho inserito un componente TIBTable,TIBDataBase e
TIBTransiction e poi ho settato le varie properties ai relativi componenti.
E' molto diverso dall'usare solo una TTable .... ma era prevedibile.
Si parte NON avendo il DB e gestendo le exception tento di crearne uno nuovo
con TIBDaataBase.CreateDataBase.
Qui ho un'altra exception dove mi dice che il mio username e password non
sono stati settati (o sono errati) e di contattare l'administrator di
firbird per farmene assegnare una !!!
PANICO !!!!!
Che si fa' ????
C'e' nessun volontario che mi puo' seguire in questo travagliato cammino
????
Se poi ci sono dei link dove fanno esempi di utilizzo di tabelle con
FireBird/InterBease .... tutto fa brodo.
Grazie a tutti ....  e ora la lavoro (quello vero)
Ciao
Daniele

 E' molto diverso dall'usare solo una TTable .... ma era prevedibile.
dimenticati di usare le locate e gli altri metodi della ttable; gli
equivalenti sotto interbase/firebird sono lenti in modo inaccettabile. Se
veramente vuoi seguire la strada di interbase/firebird, rassegnati a
riprogettare da zero i tuoi programmi usando solo l'SQL e a dimenticarti di
tutto il resto.
Personamente, trovo l'SQL generalmente *antipatico*, e lo uso il meno
possibile; e' anche vero, d'altronde, che in casi particolari si rivela
comodo (es. cancellare in blocco dei record in base ad un criterio: farlo
con le ttable richiederebbe una procedura specifica ad hoc, quando con l'sql
basta una frasetta), ma in generale preferisco avere il controllo diretto
sui record.
Ciao, Sandro

 TIBTransiction e poi ho settato le varie properties ai relativi
componenti.
Evita di utilizzare le TIBTable, sono previste solo per compatibilità
all'indietro.
Se vuoi un oggetto simile alla vecchia TTable (con metodi Append,
Edit, Post, ...), usa TIBDataSet, che funziona benissimo, oppure un
TClientDataSet.

 equivalenti sotto interbase/firebird sono lenti in modo
inaccettabile.
Non ha senso parlare di "equivalenti sotto IB/FB", quei metodi sono
strettamente legati al componente dataset che utilizzi.  Ad esempio,
su un TClientDataSet sono molto efficaci.

 firbird per farmene assegnare una !!!
Domanda: come glieli hai passati? Offline? Tramite apposita dialog?
Username e password, intendo...
Ciao
 Max

> Personamente, trovo l'SQL generalmente *antipatico*
why?
A

 why?
perche' - da solo - non ti da' la flessibilita' e l'immediatezza per fare
alcune operazioni particolari.
Ad esempio: cancellare tutti i record detail su 3 livelli di tabelle a
partire da un record master, oppure costruire una griglia di dati con record
(es. stringhe, numeri, immagini) provenienti da varie tabelle, qualora
questi debbano essere accorpati in base a criteri specifici da verificare
record per record. Alla fine l'SQL da solo non basta, e l'idea, per certe
applicazioni, di dover costruire cicli di query mi fa rabbrividire;
preferisco, allora, la velocita' e il controllo dei sistemi "classici"
all'SQL puro.
In casi piu' semplici l'SQL e' senz'altro preferibile e semplifica il lavoro
in caso di ricerche o aggiornamenti batch su archivi. Diverso e' il discorso
di aggiornare un record: la scrittura delle stringhe SQL con l'elenco dei
campi da aggiornare e relativi valori e' estenuante, inoltre costringe
all'uso dei parametri in caso di campi blob, infine, tra un'implementazione
e l'altra di sql cambia la rappresentazione dei reali (alcuni usano la
virgola, altri il punto per i decimali) e delle date (alcuni usano la
codifica ansi, altre quella nazionale).
Ciao, Sandro

 codifica ansi, altre quella nazionale).
Esistono standard per entrambi i tipi.  Il problema non si pone.

 applicazioni, di dover costruire cicli di query mi fa rabbrividire;
Dipende anche dal db.
Ad esempio, dai un occhio al rollup di Oracle che presumo (e spero...) 
esiste anche su altri db
A

alcune operazioni particolari.
O forse, semplicemente, perche' l' SQL (che da solo basterebbe per
amministrare totalmente una base dati) non e' cosi' facile da utilizzare in
quanto comporta un livello di apprendimento e studio consoni.
I dataset hanno semplificato per fortuna la vita dei programmatori, ma non
perdiamo di vista il fatto che dietro a diverse operazioni che facciamo su un
dataset, di fatto viene generata in maniera invisibile al programmatore una
sequenza di comandi SQL.
Sono stato appositamente superficiale perche non e' mia intenzione scendere
nei dettagli, volevo solo sottolineare l'importanza dell'SQL e delle sue
implicazioni.
Quando lavoravo in banca ho visto i miei colleghi del sistema informativo
lavorare esclusivamente via 3270 con SQL. E dovevi vedere che SQL: pagine e
pagine per una sola query, subquery, viste, ecc... eppure facevano tutto solo
con quello.
Ciao Sandro, ancora non ti ho visto nella mailing list, come mai ?
;-)
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 con quello.
Non ci dimentichiamo che SQL è nato, originariamente, per essere un
linguaggio ad uso e consumo degli utenti, non dei programmatori (non
per niente ha comandi come "SELECT", "INSERT", ecc... o clausole come
"WHERE", nomi facili da capire).
Cioè è studiato proprio perché si possa lavorare esclusivamente con
esso su una base dati.

 di firbird per farmene assegnare una !!!
immagino che hai impostato username e password (sono sempre richieste e puoi 
dargli i valori di defaul come qui sotto)
  Database:= TIBDatabase.Create(nil);
  try
    with Database, Params do
    begin
      Add('USER ''SYSDBA''');
      Add('PASSWORD ''masterkey''');
      Add('PAGE_SIZE=4096');
      Add('DEFAULT CHARACTER SET WIN1251');
      SQLDialect:= 3;
      DatabaseName:= FileName;
      CreateDatabase;
      Open;
    end;
-- 
Mauro Falzari 
   [ 
http://digilander.libero.it/mauro.falzari
 ]
 
 "Se guardi nell'abisso, anche l'abisso guarda in te." 
   (Friedrich Nietzsche)

dimenticavo di aggiungere che su "InterBase 6 Language Reference" alla voce 
"CREATE DATABASE" trovi esattamente questo:
Syntax CREATE {DATABASE | SCHEMA} ’ filespec’
  [USER ’ username’ [PASSWORD ’ password’]]
  [PAGE_SIZE [=] int]
  [LENGTH [=] int [PAGE[S]]]
  [DEFAULT CHARACTER SET charset]
  [ <secondary_file>];
<secondary_file> = FILE ’ filespec’ [ <fileinfo>] [ <secondary_file>]
  <fileinfo> = [LENGTH [=] int [PAGE[S]] | STARTING [AT [PAGE]] int }
   [ <fileinfo>]
con relativa spiegazione completa


 un'infinità di campi (semmai ve ne fossero).
vero, infatti quando ho usato anche io per la prima volta un TIBDataSet mi 
sono chiesto se mi sarei dovuto scrivere manualmente la query di Insert, e 
quella di Modify, quella di Refresh, di Delete e di Select, e invece .. 
"DataSet editor" dal context menu del componente, pochi clic et voilà ha 
preparato tutto lui :-)


 Ciao Sandro, ancora non ti ho visto nella mailing list, come mai ?
seguo pochissimo internet, in questo periodo, ho un po' di casini (piuttosto
seri) a livello personale :/
Ciao, Sandro

seri) a livello personale :/
Azz... mi dispiace... spero si risolvano per il meglio.
Ciao


 diretto con le procedure,
??!?? a parte che esistono specifiche estensioni di SQL (vedi l'SQL
embedded), bisogna intendersi su cosa significa "interagire in modo
diretto con le procedure".  Ci sono aspetti, nella gestione dati, che
sono semplicemente risolvibili tramite le funzionalità offerte dal
DBMS (vedi con stored procedure, udf, ecc..).  SQL non deve avere
altri compiti se non quello di essere uno strumento per
l'interrogazione dei dati.

 Azz... mi dispiace... spero si risolvano per il meglio.
grazie, sei un amico :' :)
Ciao, Sandro

     end;
Si li ho assegnati sia nell'editor (doppio click sul componente) che anche
manualmente come sopra (dopo averli tolti dal'editor).
Il messaggio d'errore che esce e' che al firebird che ho sul pc NON E' STATA
ASSEGNATA PASWWORD ED USERNAME.
Ho cercato di guardare da qualche parte sull'HD per trovare un file dove mi
indichi come fare per settare questo user-password; Ho trovato un paio di
file ma entrambi si riferiscono alle key di windows e su come registrare FB
senza usare l'installer.
Qualche suggerimento ??
Grazie
Daniele


 con quello.
Confermo anche io...ottimizzare cursori di svariate pagine per evitare di
sentire le ire del DBA...  :-))
-- 
Lis
Mercatino: 
http://snurl.com/sito_lis
Aiuta la ricerca contro il cancro: 
http://snurl.com/ida_team