Autor Téma: Ke je fyzicky uložený soubor *.FDB  (Přečteno 312 krát)

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Ke je fyzicky uložený soubor *.FDB
« kdy: 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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5533
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #1 kdy: 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:

  • embeded - jedno súborová DB. Môže byť kdekoľvek. O tom sa rozhoduje pri inštalácii. Treba vychádzať z tejto skutočnosti
  • server - DB môže byť rozložená po celom svete. Tu je dôležité pripojenie na server. A tým končím :)
Nemyslím si, že som napísal niečo čo nevieš.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3073
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #2 kdy: 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.


Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #3 kdy: 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á

 


Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3073
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #4 kdy: 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

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #5 kdy: 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

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3073
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #6 kdy: 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?

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #7 kdy: 16-11-2020, 14:00:59 »
Už se v tom začínám ztrácet, tak bych to radši uzavřel

Offline martinnr

  • Plnoletý
  • ***
  • Příspěvků: 189
  • Karma: 2
    • Verze Delphi: 7,2009,XE7
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #8 kdy: 17-11-2020, 18:23:10 »
SELECT a.MON$DATABASE_NAME FROM MON$DATABASE a

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3073
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #9 kdy: 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)

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #10 kdy: 18-11-2020, 10:27:08 »
SELECT a.MON$DATABASE_NAME FROM MON$DATABASE a
Funguje výborně  - moc děkuji

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5533
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #11 kdy: 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.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline martinnr

  • Plnoletý
  • ***
  • Příspěvků: 189
  • Karma: 2
    • Verze Delphi: 7,2009,XE7
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #12 kdy: 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:...

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 353
  • Karma: 9
    • Verze Delphi: XE2
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #13 kdy: 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  ..

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3073
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Ke je fyzicky uložený soubor *.FDB
« Odpověď #14 kdy: 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.