Forum Delphi.cz

Databáze => Firebird a Interbase => Téma založeno: Jirka 15-11-2020, 20:54:03

Název: Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 15-11-2020, 20:54:03
Zdravím
Je  možné přímo z databáze zjistit cestu v PC ?
Něco jako "C:\DATA\DATABAZE.FDB"
Chci aplikovat Alias a rád bych měl pojistku že ten Alias "ukazuje správně"
Pokud možno bez použití UDF
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Stanislav Hruška 15-11-2020, 21:36:41
Otázka mi pripadá trocha divná. Ak si pripojený k DB, tak musíš vedieť kde je! Alebo máš na mysli niečo iné.
Určite vieš, že taká informácia v DB jednoducho neexistuje. Niečo som tu na podobnú tému debatoval. Zoberme si:

Nemyslím si, že som napísal niečo čo nevieš.
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: pf1957 16-11-2020, 00:25:36
Chci aplikovat Alias a rád bych měl pojistku že ten Alias "ukazuje správně"
Pokud možno bez použití UDF
My to delavame tak, ze v DB mame nejakou tabulku ev. SP, ktera obsahuje napr. informace o revizi schematu, takze aplikace vzdy po startu kontroluje predpokladanou revizi, pro kterou byla prelozena a revizi DB, ke ktere se pripojila aj. kontroly. U ruznych typu RDBMS to delavame ruzne. U FB jsme to delavali tak, ze jsme do textu dedikovane SP dostali cislo revize a takova zmena se promitla do diferencniho scriptu, treba u EntityFrameworku (MSSQL) si to kontroluje automaticky sam framework.

Pak se budto vubec k DB nepripojis a nebo se pripojis a zjistis, co je to presne za verzi a jestli nad ni muzes pracovat.

Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 16-11-2020, 09:53:53
Pak se budto vubec k DB nepripojis a nebo se pripojis a zjistis, co je to presne za verzi a jestli nad ni muzes pracovat.
Já jsem měl spíše na mysli jak už z připojené databáze zjistit fyzickou cestu ("C:\..")  na daném serveru.
Protože když si nastavím připojení přes Alias chtěl bych mít možnost se podívat přes databázi kde ji mám.
Samozřejmě neuvažuji o variantě rozdělení samotné databáze na více souborů které mohou být na více HDD - to se snad už ani nepoužívá

 

Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: pf1957 16-11-2020, 10:44:31
Já jsem měl spíše na mysli jak už z připojené databáze zjistit fyzickou cestu ("C:\..")  na daném serveru.
Protože když si nastavím připojení přes Alias chtěl bych mít možnost se podívat přes databázi kde ji mám.
Tomu jsem porozumel, ale neni mi jasne, k cemu to ma slouzit
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 16-11-2020, 10:49:27
Tomu jsem porozumel, ale neni mi jasne, k cemu to ma slouzit
viz. druhý řádek přechozího příspěvku
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: pf1957 16-11-2020, 10:59:17
Tomu jsem porozumel, ale neni mi jasne, k cemu to ma slouzit
viz. druhý řádek přechozího příspěvku
Nj, ale proc to potrebujes vedet?
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 16-11-2020, 14:00:59
Už se v tom začínám ztrácet, tak bych to radši uzavřel
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: martinnr 17-11-2020, 18:23:10
SELECT a.MON$DATABASE_NAME FROM MON$DATABASE a
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: pf1957 18-11-2020, 07:37:35
No ale to neresi tu fyzickou cestu, ne? Alespon v dox pisou:

MON$DATABASE_NAME (database pathname or alias)
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 18-11-2020, 10:27:08
SELECT a.MON$DATABASE_NAME FROM MON$DATABASE a
Funguje výborně  - moc děkuji
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Stanislav Hruška 18-11-2020, 11:38:17
Citace
Určite vieš, že taká informácia v DB jednoducho neexistuje.
Klasika. Opäť som poriadne kecal! Že ma nikto nezahriakol.
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: martinnr 18-11-2020, 12:04:57
No ale to neresi tu fyzickou cestu, ne? Alespon v dox pisou:

MON$DATABASE_NAME (database pathname or alias)

asi vracia vzdy cestu, aj ked z bezpecnostneho hladiska by nemalo. ale aj na strankach dokumentiacie k FB je:
Regarding the security aspect of using database alias names to hide the full path to the actual database file(s), it’s not really all that secure as the following SQL command shows:...
hruby preklad - Pokiaľ ide o bezpečnostný aspekt používania aliasov databázy na skrytie celej cesty k skutočným súborom (databázam) databázy, nie je to všetko také bezpečné, ako ukazuje nasledujúci príkaz SQL:...
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: Jirka 18-11-2020, 12:43:19
asi vracia vzdy cestu, aj ked z bezpecnostneho hladiska by nemalo.
Je taky klidně možné, že to  v další revizi udělají tak, že skutečně bude vracet alias.
Já to budu mít víceméně jako vedlejší informaci  ..
Název: Re:Ke je fyzicky uložený soubor *.FDB
Přispěvatel: pf1957 18-11-2020, 12:45:41
asi vracia vzdy cestu, aj ked z bezpecnostneho hladiska by nemalo. ale aj na strankach dokumentiacie k FB je:
Ono to dava i smysl, kdyz se na DB pripojim aliasem, tak ho znam a nepotrebuju ho zjistovat. Jedine, ze by ho tam strcili v pripade, ze se pripojim pres fyzickou cestu a nasli by si v cfg, ze k ni existuje alias a ten tam strcili. FB uz nikde nainstalovany nemam, abych se podival.

Aliasy nejsou IMHO bezpecnostnim opatrenim, jejich smysl je zjednodusit udrzbu a decouplovat aplikace a fyzicke umisteni, aby se dala DB napr. prehodit na jiny/vetsi/rychlejsi/bezpecnejsi disky/RAID aj.