Newsgroup: it.comp.lang.delphi
Titolo: Problema Firebird 1.5 Embedded

Ciao a tutti,
premetto che è il mio primo porting da Access a Firebird e quindi
sicuramente si tratta di una cavolata (ma coi soliti metodi:
faq->documentazione->google non sono riuscito a risolverlo).
-Uso D6Prof
-Ho installato sul PC di sviluppo FB 1.5 RC7 come servizio
-Con l'ottimo SQL2GDB ho convertito il db Access in GDB
-Ho modificato i collegamenti al db usando IBX al posto di ADO
Il tutto funziona bene (oserei dire anche meglio di prima!) ma ora vorrei
testare
la distribuzione effettiva per la quale pensavo alla versione FB 1.5
"embedded" naturalmente.
Metto nella stessa cartella il mio applicativo, il database, il
fbembedded.dll ribattezzato per l'occasione "gdb32.dll" e firebird.msg.
Secondo il readme non serve nient'altro...  fermo il servizio vero e proprio
e provo a connettermi ma ottengo una serie di errori 10061 (mancata
connessione).
Devo forse disinstallare il servizio per far capire agli IBX di usare
l'embedded?
Grazie a chiunque abbia la (credo semplice) soluzione,
Vittorio

 l'embedded?
Non serve, ci pensa la fbembedded.dll a "redirezionare" il tutto
Ciao Daniele

 Quale è la stringa che utilizzi per connetterti?
La costruisco nell'OnCreate del Datamodule:
procedure TDati.DataModuleCreate(Sender: TObject);
var miaPath:string;
begin
miaPath:= ExtractFilePath(Application.ExeName);
miaPath:= IncludeTrailingPathDelimiter(miaPath);
if (FileSearch('basedati.gdb', miaPath ) <> '') then
begin
  IBDataBase1.Connected:=false;
  IBDataBase1.DatabaseName:= 'localhost:'+miaPath +'basedati.gdb';
  IBDataBase1.Connected:=true;
  FactTable.Filtered := False;
  FactTable.Active := True;
  Origine.Active := True;
end
 else
   begin
    Application.MessageBox('ERRORE: archivio mancante', ' ', MB_OK);
    application.Terminate;
   end;
...
Username e password sono settati dentro all'IBDataBase1
Grazie anticipatamente dell'aiuto,
Vittorio

 fbembedded.dll ribattezzato per l'occasione "gdb32.dll" e
                                              ^^^^^^^^^^^ ?????
AFAIK, il client di IB/FB e' gds32.dll 
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare"

 AFAIK, il client di IB/FB e' gds32.dll
Si, scusate... l'avevo rinominata giusta (la dll) ma mi e' scappato un
lapsus scrivendo la mail... <:-o   (cappello da asino e dietro la lavagna)
Ciao, Vittorio


Non devi mettere "localhost" ma solo path e nome del db. (Es:
c:\db\test.gdb').
Giulio


Proprio ieri sera ho ripreso in mano il problema e sono riuscito a farlo
funzionare togliendo il localhost... purtroppo sbagliavo ad interpretare una
frase nel readme dell'embedded che mi sembrava dicesse che ci si poteva
collegare solo attraverso il localhost loopback...
Ad occhio usando l'embedded in una piccola applicazione come la mia ci si
guadagna anche in velocità!
Grazie a tutti,
Vittorio
P.S.: Per la cronaca la frase incriminata è la seguente:
  "2.2. Database access
    The embedded server can act as a true local server
    accessing databases on a local machine, and as a remote
    gateway which redirects all network calls to another
    hosts (i.e. works as a client library). Note that you
    cannot connect to the local standalone Firebird server
    using the local connection string (without a host name).
    It applies to IPC connections only, because they use
    the same format of the connection string; but you can
    connect to the local standalone server via TCP/IP localhost
    loopback or via the named pipes protocol."
Ma, come ho detto, sono io che l'ho interpretata male.