Il linguaggio di programmazione Delphi
 

Percorsi (Ex Directory)

Daniele 21 Feb 2017 12:50
Ciao a tutti,
ho questa domanda sulle directory e, molto probabilmente, avro' qualche
caffe' da offrire.

Percorso in rete come da esplora risorse

\\Server\TestDB

Impostazioni nel connection di firedac per firebird

\\Server\c:\TestDB

Quello che io uso nelle impostazioni sono 3 edit

1) Host (server o localhost o quello che e')
2) Directory.
3) Nome DB

Se Host = localhost lo skippo altrimenti quello che uso per identificare il
db e'

[Host] + Directory + nomeDB

Il risultato e' e va bene

\\server\c:\testdb\test.db

perche' in esplora risorse non c'e' il drive ? (c:)

A chi risponde (con garbo) un caffe' a Como

Ciao

Daniele
Alberto Salvati 21 Feb 2017 14:12
> perche' in esplora risorse non c'e' il drive ? (c:)

Spiega tu perchè dovrebbe esserci.

A.
Daniele 21 Feb 2017 15:39
Ciao Alberto,

>> perche' in esplora risorse non c'e' il drive ? (c:)
>Spiega tu perchè dovrebbe esserci.

Mi sono fatto un mini corso super ultra rapido con il solito strumento, poi
qualche prova.
Risultato, il server ha 2 dischi C e D dove il D e' completamente condiviso
e visibile dalla tutti, il C ha solo 2 directory condivise.
Il D e' stato rimappato dal mio pc come S mentre su altri pc ha lettere
diverse, il C essendo il principale (e penso rimappato anch'esso) e' omesso
(congettura).
Per quanto riguarda il D questo lo posso "scorrere" se viene usato il
simbolo $ subito dopo.

A questo punto, solo per lezione didattica, se ho due directory da lavorare,
una in C e l'altra in D come posso gestire da programma il C: e il $ ?
Mi spego meglio, seleziono da dialog

\\server\testdb\test.db

il C: lo posso inserire e togliere a seconda dei casi, ma il disco S come
posso ricondurlo a \\server\d$ ?
Dato che nelle impostazioni e' salvato tutto il percorso (il dialog mi
restituisce la lettera mappata), se domani qualcuno rimappa il disco a T,
altre la rincofigurazione manuale (cambio letterera da S a T) c'e' qualcosa
che lo fa in automatico?

Non credo che capitera' mai, pero' sapere una cosa in piu' non fa male

Grazie

Daniele

PS: il caffe' e' superato .... non basta piu' ....
Alberto Salvati 21 Feb 2017 15:44
> Risultato, il server ha 2 dischi C e D dove il D e' completamente condiviso
> e visibile dalla tutti, il C ha solo 2 directory condivise.

perchè?


A.
Daniele 21 Feb 2017 15:53
Ciao Alberto,

>> Risultato, il server ha 2 dischi C e D dove il D e' completamente
>> condiviso
>> e visibile dalla tutti, il C ha solo 2 directory condivise.

> perchè?

Perche' ha 2 dischi ?, Erano li sul server !! :-)

Invece sul perche' ci sono quelle condivisioni non so dirti.
Chi ha installato il gestionale, dopo averci lavorato sopra, ci ha
consegnato il server con quelle impostazioni.
In origine era condivisa solo una directory, la seconda la uso sul mio pc
per i test (non trovo salutare lavorare sul ******* del gestionale).

Ho trovato questo link

http://www.delphifaq.com/faq/delphi/windows ******* system/f415.shtml

dove dice che trasformare un percorso "normale" in uno di rete non e' cosi'
facile (neanche a dirlo!!).
Pero' tenta nel dare una soluzione.

Dovrei smettere di farmi certe domande ..... e scriverle qui .... :-))

Ti augurerei buona domenica ..... ma e' ancora lontana .........

Ciao

Daniele
Alberto Salvati 21 Feb 2017 16:09
Ti faccio un esempio.

AWS mette a disposizione il servizio RDS: db client/server in cloude lo usi come
se girasse su un server in lan.
Mo, secondo te, per far funzionare sta cosa amazon CONDIVIDE LE CARTELLE DEI
SUOI SERVER SUL WEB??



Un db client/server non ha alcuna necessità di cartelle condivise per
funzionare.

Lato client, per collegarsi ad un db client/server,fornisci credenziali, un
"qualcosa" che faccia riferimento ad host/istanza/DB lato serverIl "qualcosa"
dipende dal tipo di db:

sqlserver: nomehost\\nomeistanza + nome del db
mysql: nomehost + nome del db
oracle: un alias definito nel ******* tnsnames.ora

Firebird fa una cosa strana. Gli dai il nome host + il path del db:

\\server\c:\testdb\test.db

Ma quel path E' USATO DAL SERVER, mai dai client!

Quindi, dove sta il problema?

A.
Emanuele Desideri 21 Feb 2017 16:37
Daniele ha detto questo martedì :
> Ciao a tutti,
> ho questa domanda sulle directory e, molto probabilmente, avro' qualche
> caffe' da offrire.

Altro che caffè...più di qualche sistemista del gruppo credo sia morto
all'istante leggendo questo tuo post. lol

Direi che Alberto Salvati ti ha già indirizzato sulla giusta via! B-)

--
Emanuele Desideri
Warp10 21 Feb 2017 17:08
Il 21/02/2017 16.09, Alberto Salvati ha scritto:

> Firebird fa una cosa strana. Gli dai il nome host + il path del db:

O un alias.

https://firebirdsql.org/rlsnotesh/config-db-alias.html

Con ciò non voglio dire che Firebird non faccia cose strane, eh! :)

--
@WarpTen10

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
4ndre4 21 Feb 2017 19:14
Perché usi 3 edit nelle impostazioni? Significa spararsi nei piedi. Se domani
cambiano il formato della connection string, Devi mettere mano al codice. usa un
solo campo, chiamalo "stringa di connessione" e passa la paura.
Alberto Salvati 22 Feb 2017 08:35
>> Firebird fa una cosa strana. Gli dai il nome host + il path del db:
>
> O un alias.
>
> https://firebirdsql.org/rlsnotesh/config-db-alias.html

Questa cosa non la ricordavo.
Giusta precisazione.


> Con ciò non voglio dire che Firebird non faccia cose strane, eh! :)

Lol!

A.
Daniele 22 Feb 2017 10:18
Ciao,

> Altro che caffè...
> OK, aperitivo ?

> più di qualche sistemista del gruppo credo sia morto all'istante leggendo
> questo tuo post. lol
Per cosi' poco no !!!

> Direi che Alberto Salvati ti ha già indirizzato sulla giusta via! B-)
Quello sempre!
Molto creativo nelle risposte, ma efficace !

Leggendo le risposte gli argomenti sono trattati bene, piu' di quanto in
realta' poteva meritare la domanda in origine.
Il problema sta nella mappatura.

Anche Andrea non ha torto indicando la strada di usare un solo edit, ma
anche dbaver ne usa 2 (3 con la porta)
1 per l'host (serve, local, ip, ecc..)
2) per il db.

C'e' il bottoncino per selezionare il ******* e infatti ritorna
\\server\testdb\test.db
che, sebbene sia corretto lo devo modificare in
c:\testdb\test.db
Se poi modifico la connessione, per far funzionare il dialog lo devo
ritrasformare in \\srever\test\test.db
E' questo girotondo che crea problemi su un'automazione e, per le mie scarse
capacita', lo trovo abbastanza difficoltoso.

Grazie per tutto

Ciao

Daniele
Alberto Salvati 22 Feb 2017 10:25
> C'e' il bottoncino per selezionare il ******* e infatti ritorna
> \\server\testdb\test.db
> che, sebbene sia corretto lo devo modificare in
> c:\testdb\test.db
> Se poi modifico la connessione, per far funzionare il dialog lo devo
> ritrasformare in \\srever\test\test.db
> E' questo girotondo che crea problemi su un'automazione e, per le mie scarse
> capacita', lo trovo abbastanza difficoltoso.

Onestamente, non ho capito manco 'o kaz.

A.
Morde 22 Feb 2017 10:53
On 21.02.2017 17:08, Warp10 wrote:

> O un alias.
>
> https://firebirdsql.org/rlsnotesh/config-db-alias.html
>

Concordo: io uso sempre gli alias, è il modus operandi corretto e
semplifica la connessione dei client.
Inoltre non divulga ai client la posizione del db sul ******* system del
server.

> Con ciò non voglio dire che Firebird non faccia cose strane, eh! :)
>

Su questo non concordo: ho scritto due programmi che vengono usati da
quattro anni in produzione e il db, seppur con carichi modesti (una
trentina di clients) non ha mai dai problemi. Mai. E intanto io dormo
tranquillo: ogni mese faccio solo dei controlli di integrità e va sempre
tutto liscio.

--
Morde
Daniele 22 Feb 2017 11:05
Ciao Alberto,

> Ti faccio un esempio.
> AWS mette a disposizione il servizio RDS: db client/server in cloude
> lo usi come se girasse su un server in lan.
> Mo, secondo te, per far funzionare sta cosa amazon
> CONDIVIDE LE CARTELLE DEI SUOI SERVER SUL WEB??
Devi sapere che quando fai questi esempi ..... mandi il mio morale in
cantina.
Troppo avanti per me !!

> Un db client/server non ha alcuna necessità di cartelle condivise per
> funzionare.
E' molto probabile che QUI io stia sbagliando l'impostazione.
Ovvero ho la convinzione, probabilmente sbagliata, che per connettere il db
la cartella debba essere condivisa.
Esempio, dbaver si connette al db (\\server\c:\testdb\test.db) perche' la
cartella c:\testdb e' condivsa.
Se non e' condivisa si connette ugualmente? (ok, adesso provo)

Ho testato,
La cartella non e' piu' condivisa (in esplora risorse non si vede piu' da
nessun pc).
Riavviato dbaver, ovviamente con lo stesso percorso non condiviso, e il db
si connette.
Come detto prima, convinzione sbagliata..... meglio tardi che mai !!!!

> Firebird fa una cosa strana. Gli dai il nome host + il path del db:
> \\server\c:\testdb\test.db
> Ma quel path E' USATO DAL SERVER, mai dai client!
Scusami, in questo caso e' vero che c:\testdb e' un path che risiede sul
server.
Ma dbaver che e' sul mio pc (client) per connettersi al db deve usare a sua
volta questo path.
Quindi se il path \\server\c:\testdb non deve mai essere usato dal client,
come fa a connettersi?.

Lo so Alberto, c'e' confusione ..... sii paziente ......

Ciao

Daniele

PS: Questo non riguarda me ma il gestionale in uso.
Ebbene, tolta la mia directory ora in condivisione ne e' rimasta una ......
quella del gestionale.
Sentendo l'assistenza, se la cartella non e' condivisa il gestionale
potrebbe avere problemi.
In conclusione al nostro discorso, questo potrebbe essere un errore!
Alberto Salvati 22 Feb 2017 11:14
> Riavviato dbaver,

KE KAZ E' "dbaver"???

> ovviamente con lo stesso percorso non condiviso, e il db
> si connette.

..ma dai...?

> Ma dbaver

KE KAZ E' "dbaver"???


> che e' sul mio pc (client) per connettersi al db deve usare a sua
> volta questo path.
> Quindi se il path \\server\c:\testdb non deve mai essere usato dal client,
> come fa a connettersi?.

NON E' UN PATH USATO *LOCALMENTE AL CLIENT*!!
SERVE SEMPLICEMNTE AL SERVER PER CAPIRE DOVE SPACCIMA STA IL ******* DI DB!
RIPETO:

1) ORACLE USA UN ALIAS DEFINITO NEL ******* TNSNAMES.ORA
2) MYSQL ED SQLSERVER USANO IL NOME DEL DB
3) FIREBIRD USA IL PATH DEL DB

TUTTO QUA! E KE KAZ!

> Ebbene, tolta la mia directory ora in condivisione ne e' rimasta una ......
> quella del gestionale.
> Sentendo l'assistenza, se la cartella non e' condivisa il gestionale
> potrebbe avere problemi.
> In conclusione al nostro discorso, questo potrebbe essere un errore!

CONTINUO A NON CAPIRE UN KAZ. DI COSA STIAMO PARLANDO?

A.

A.
Daniele 22 Feb 2017 11:16
Ciao Alberto,

>> C'e' il bottoncino per selezionare il ******* e infatti ritorna
>> \\server\testdb\test.db
>> che, sebbene sia corretto lo devo modificare in
>> c:\testdb\test.db
>> Se poi modifico la connessione, per far funzionare il dialog lo devo
>> ritrasformare in \\srever\test\test.db
>> E' questo girotondo che crea problemi su un'automazione e, per le mie
>> scarse
>> capacita', lo trovo abbastanza difficoltoso.

> Onestamente, non ho capito manco 'o kaz.
Settaggi di dbaver + dialog di windows con credenziali di amministratore.
Gran ******* di parole per spiegarlo, piu' facile farlo.
Riprovo ... scusami ...

Bottoncino per selezionare il percorso, una volta selezionato torna
\\server\testdb\test.db che a dbaver non piace, a lui piace
c:\testdb\test.db
Test connessione OK.
Riapro il dialog, si posiziona su C (perche' sul mio pc non esiste
c:\testdb).
A manina nell'edit di dbaver scrivo \\server\c:\testdb\test.db .... a win
non piace.
A win piace \\server\testdb\test.db

E' il girotondo tra \\server\testdb\test.db, \\server\c:\testdb\test.db e
ancora \\server\testdb\test.db che da problemi.

Lo so, Come sopra ..... > Onestamente, non ho capito manco 'o kaz 2. <-----
nota il 2

Ciao

Daniele
Morde 22 Feb 2017 11:49
On 22.02.2017 11:16, Daniele wrote:
>
> E' il girotondo tra \\server\testdb\test.db, \\server\c:\testdb\test.db
> e ancora \\server\testdb\test.db che da problemi.

Mi stai facendo impazzire Alberto.. :-)

Senti, cosa aspetti a passare agli alias?

1. Installi firebird server sul server
2. Apri C:\Program Files\Firebird\Firebird_2_1\aliases.conf
3. Aggiungi: dbtest=c:\testdb\test.db
4. Salvi e riavii il servizio di firebird
5. a questo punto tutti i client si collegano con:

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;
DBNAME=MyServer/3051:dbtest;

Chiaramente dovrai adattare i percorsi e il nome del server alla tua
situazione.


--
Morde
Daniele 22 Feb 2017 14:35
Ciao....

> Mi stai facendo impazzire Alberto.. :-)
Non e' Lui !!!!!

> Senti, cosa aspetti a passare agli alias?
OK

> Chiaramente dovrai adattare i percorsi e il nome del server alla tua
> situazione.
Grazie per la spiegazione.

Daniele

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione Delphi | Tutti i gruppi | it.comp.lang.delphi | Notizie e discussioni delphi | Delphi Mobile | Servizio di consultazione news.