Newsgroup: it.comp.lang.delphi
Titolo: SQLConnection su server remoto

Non riesco a stabilire la connessione con il Db remoto DbTest.fdb;
SQLConnection1 (dbexpress)
driver -> firebird
GetDriveFunc -> getSQLDriverINTERBASE
LibraryName -> dbxfb.dll
VendorLib -> fbclient.dll
di seguito le varie prove (Delphi XE)
^^^^
ho un pc con WinXP che identifico con 192.168.1.35
sull'Hd di quel Pc vi e' una cartella condivisa TestDB
ed e' attivo FireBird come servizio.
i due Pc sono divisi da un router (Alice), e si vedono
(esplora risorse->connetti unita di rete
  \\192.168.1.35\TestDB viene connessa e posso scrivere)
su SQLConnection (dbexpress) imposto Param Database
192.168.1.35\TestDB\DbTest.fdb  -> imposto active = true
impossibile trovare il percorso specificato
\\192.168.1.35\TestDB\DbTest.fdb  -> imposto active = true
impossibile trovare il percorso specificato
192.168.1.35:C:\TestDB\DbTest.fdb  -> imposto active = true
failed to estabilish connection
da quanto leggo nell'Help di IbExpert
http://ibexpert.net/ibe/index.php?n=Doc.RegisterDatabase
- per Windows server_name(o indirizzo ip):C:pathdatabase
in questo caso 192.168.1.35:C:\TestDB\DbTest.fdb
pero' sempre failed to estabilish connection
naturalmente il ping 192.168.1.35 risponde
provo anche con IbExpert
imnposto protocol Tpc/Ip server name 192.168.1.35
database file C:\TestDb\DbTest.fdb
Attempting to connect to:
192.168.1.10:C:\TestDB\\MODULUS.FDB
oppure
Attempting to connect to:
\\192.168.1.10:C:\TestDB\\MODULUS.FDB
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes 
successful execution of subsequent statements.
Unable to complete network request to host "192.168.1.35".
Failed to establish a connection.

 Failed to establish a connection.
Qui appaiono due indirizzi IP diversi. Secondo me, dovresti verificare 
che il server funzioni correttamente prima in locale, poi provare a 
collegarti via IB Expert usando la sintassi corretta, che è
   server:path
dove <server> è l'indirizzo IP o il nome della macchina su cui gira 
FireBird Server, mentre <path> è il percorso fisico del file di database 
su quella macchina (condivisioni di rete o altro non c'entrano nulla e 
non vanno referenziate, tanto meno è obbligatorio crearle).
Ciao!
-- 
Marco Breveglieri
   (
http://www.marco.breveglieri.name
)

 Non riesco a stabilire la connessione con il Db remoto DbTest.fdb;
Se vuoi un consiglio è meglio usare gli alias di FB tramite il file 
aliases.conf che trovi nella cartella di Firebird.
La sua struttura è una serie di righe tipo questa
dummy = c:\data\dummy.fdb
Dai client ti basta collegarti a <ip_server>:<alias> (dummy nel caso 
dell'esempio) ed il gioco è fatto.
Se per qualche motivo dovrai spostare in futuro il o i db sul server ti 
basterà modificare solo aliases.conf ma non andrai a toccare i client.
Ah, controlla che la porta 3050 sia aperta.
Se vuoi leggi qua 
http://www.programmazione.it/index.php?entity=eitem&idItem=33555

>
ho fatto come hai indicato, eliminate le condivisioni.
Test locale su Pc 192.168.1.10
Attempting to connct to:C:\MODULUS.FDB
Connecting... Passed!
Server version: WI-V6.3.0.26074 Firebird 2.5
Attempting to connect to services manager... Passed!
Disconnecting from database... Passed!
Test da IbExpert verso Pc remoto
ho impostato
Server -> remote
Server name -> 192.168.1.10
Protocol -> TCP/IP
Server Version -> Firebird 2.5
DataBase File -> C:\MODULUS.FDB (indirizzo fisico sul Pc remoto)
eseguito Test Connect
Attempting to connect to:
192.168.1.10:C:\MODULUS.FDB
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes 
successful execution of subsequent statements.
Unable to complete network request to host "192.168.1.10".
Failed to establish a connection.
impostazioni TCP/IP scheda di rete
indirizzo IP : 192.168.1.10
Subnet mask  : 255.255.255.0 (puo' influire ?)
mi pare sia corretto, che altro posso provare ?
perche' fanno riferimento alla porta 3050
http://www.firebirdfaq.org/faq259/
ciao.

 Non riesco a stabilire la connessione con il Db remoto DbTest.fdb;
Il modo corretto per collegarti ad un database in modalità client server 
è quello descritto da Warp10.
Devi fare la stessa cosa anche tu: lascia perdere le condivisioni di 
files in stile dBase.
Io lavoro con un server virtualizzato sul quale c'è windows server con 
installato firebird versione superserver e  un database al quale è stato 
associato l'alias.
Lato client, la mia connessione viene semplicemente definita con l'IP 
del server, il nome dell'alias che ho dato al database (e non il 
percorso sul disco remoto!!) e login e password che, se non ti interessa 
di gestire delle utenze e dei ruoli specifici sul database, è 
l'onnipresente sysdba-masterkey. La porta TCP/IP è quella di default.
-- 
morde
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database

Ma tu hai una vaga idea di come funziona dun db c/s?
Secondo me no.
Per prima cosa, per i db c/s la cartella NON VA CONDIVISA.
Mica un db c/s lavora come quella latrna di Access o i vecchi e
rispettabili dbf del clipper.
Sai che bello..vado nella cartella e tento di cancellare il file
fdb....
Sai che il tuo client tenta di aprire un socket su una porta del
server?
E che ovviamente, ma non per tutti, se il kaz di firewall di XP e'
attivo e ti chiude la porta, col kakkio che ti connetti?
Come impostazione predefinita, il firewall di certo non chiude la
porta HTTP e la porta usata dal browser di computer.
Ma probabilmente la porta di Firebird si...
A.


Ho trovato: La porta 3050 era chiusa dal firewall,
aggiunta alle eccezioni, ora si connette sia da
Delphi che IbExpert.
colpa mia che non ci avevo pensato.
grazie a tutti dell'aiuto.