Forum Delphi.cz

Databáze => Firebird a Interbase => Téma založeno: Stanislav Hruška 01-12-2018, 22:38:05

Název: Záloha FB 2.5
Přispěvatel: Stanislav Hruška 01-12-2018, 22:38:05
Mám malú prosbu. Mád databázu FB 2.5 a potrebujem urobiť z nej urobiť zálohu, aj s údajmi. Aby som ju potom mohol previesť na FB 3
Skúsil som nainštalovať server FB 2.5, ale môjmu EMS manažérovi sa čosi nepáčilo. Či so tu inštaláciu urobil správne neviem. Server 3 som mal vypnutý.
Ďakujem
Název: Re:Záloha FB 2.5
Přispěvatel: Delfin 02-12-2018, 12:56:25
Dobre, ale jak s tim vsim mame nalozit? Z popisu jsem pochopil, ze selhal externi nastroj (jak?) pri backupu databaze serverem Firebird 2.5, jenz jsi dodatecne nainstaloval. Takze ta databaze nebyla vytvorena verzi 2.5?

Letmo dodam, ze je treba vytvaret zalohu databaze stejnou verzi serveru ve ktere vznikla. A ze by k migraci mel stacit jen nastroj gbak (samozrejme pro zalohu verze v niz databaze vznikla a pro obnovu verze do niz se ma obnovit).
Název: Re:Záloha FB 2.5
Přispěvatel: pf1957 02-12-2018, 13:21:41
A ze by k migraci mel stacit jen nastroj gbak
Ja bych se taky zdrahal na tyhle zalezitosti pouzivat neco od 3. strany. Nadelal jsem batche a ty spoustim, pro inspiraci:
Kód: Text [Vybrat]
  1. @       echo OFF
  2.         goto ARGS
  3. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  4. REM                                                                        REM
  5. REM     Syntax (RFC 2234):                                                 REM
  6. REM                                                                        REM
  7. REM         "_gbak-db.bat"  path-to-db   user  pswd                        REM
  8. REM                                                                        REM
  9. REM         %1 path to .FDB file                                           REM
  10. REM         %2 user                                                        REM
  11. REM         %3 password                                                    REM
  12. REM                                                                        REM
  13. REM     It assumes that filename = alias                                   REM
  14. REM                                                                        REM
  15. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  16. :ARGS
  17.         echo ###################################################################
  18.         echo # Backing-up and Firebird's database %1
  19.         echo #------------------------------------------------------------------
  20.  
  21.         if "%1"=="" goto ERR_PAR1
  22.         if "%2"=="" goto ERR_PAR2
  23.         if "%3"=="" goto ERR_PAR3
  24.  
  25.         set BAT=D:\BAT\
  26.         if not "%BAT%"=="D:\BAT\" goto ERR_ENV
  27.  
  28.         set BAK=D:\BAK\
  29.         if not "%BAK%"=="D:\BAK\" goto ERR_ENV
  30.  
  31.         set CoreName=%~n1
  32.  
  33. REM
  34.         call %BAT%_PathToProgramFile.bat  Firebird\Firebird_2_5\bin\gbak.exe
  35.         if not exist "%_FILE_%" goto ERREXE
  36. REM
  37.         echo # Dropping an old backup file...
  38.         call %BAT%_DateTimeToISO8601.bat
  39.  
  40.         set FBK=%BAK%%CoreName%-%f%.fbk
  41.         if exist "%FBK%" del %FBK% > nul
  42.         if exist "%FBK%" goto ERRDELFBK
  43. REM
  44.         echo # Backing-up to %FBK%
  45.         "%_FILE_%" -b   %CoreName%  %FBK% -user %2 -password %3
  46.         if ERRORLEVEL 1 goto ERRFBK
  47.         if not exist "%FBK%" goto ERRFBK
  48.         attrib +r %FBK%
  49.         echo # Done.
  50.  
  51.         goto :EOF
  52.  
  53. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  54. REM     ERRORS                                                             REM
  55. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  56. :ERR_PAR1
  57.         echo !! Missing 1st command line argument: Path to DB file
  58.         pause
  59.         goto :EOF
  60. :ERR_PAR2
  61.         echo !! Missing 2nd command line argument: user name to connect to DB
  62.         pause
  63.         goto :EOF
  64. :ERR_PAR3
  65.         echo !! Missing 3rd command line argument: password to connecto to DB
  66.         pause
  67.         goto :EOF
  68. :ERRDELFBK
  69.         ECHO Unable to delete an old backup file "%FBK%"
  70.         pause
  71.         goto :EOF
  72. :ERRFBK
  73.         ECHO Unable to backup the original Firebird's database file "%1" to "%FBK%"
  74.         pause
  75.         goto :EOF
  76.  
a zpatky
Kód: Text [Vybrat]
  1. @       echo OFF
  2.         goto ARGS
  3. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  4. REM                                                                        REM
  5. REM     Syntax (RFC 2234):                                                 REM
  6. REM                                                                        REM
  7. REM         "_gbak-restore.bat"  path-to-db   user  pswd                   REM
  8. REM                                                                        REM
  9. REM         %1 path to .FDB file                                           REM
  10. REM         %2 user                                                        REM
  11. REM         %3 password                                                    REM
  12. REM                                                                        REM
  13. REM     It assumes that filename = alias                                   REM
  14. REM                                                                        REM
  15. REM                                                                        REM
  16. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  17. :ARGS
  18.         if "%1"=="" goto ERR_PAR1
  19.         if "%2"=="" goto ERR_PAR2
  20.         if "%3"=="" goto ERR_PAR3
  21.  
  22.         set BAT=D:\BAT\
  23.         if not "%BAT%"=="D:\BAT\" goto ERR_ENV
  24.  
  25.         set BAK=D:\BAK\
  26.         if not "%BAK%"=="D:\BAK\" goto ERR_ENV
  27.  
  28.         set CoreName=%~n1
  29.  
  30.         set FBK=%~dpn1.fbk
  31.         if not exist %FBK% goto ERRFBK
  32.  
  33.         echo ###################################################################
  34.         echo # Restoring Firebird's database having alias "%CoreName%" in-place
  35.         echo #------------------------------------------------------------------
  36.  
  37. REM
  38.         call %BAT%_PathToProgramFile.bat  Firebird\Firebird_2_5\bin\gbak.exe
  39.         if not exist "%_FILE_%" goto ERREXE
  40. REM
  41.         set DUP=%~dpn1.~fdb
  42.         if not exist %1 goto CREATEFDB
  43.         echo # Making duplicate of the original database
  44.         if exist %DUP% del %DUP% > nul
  45.         copy %1 %DUP% > nul
  46.         if not exist %DUP% goto ERRDUPFDB
  47. REM
  48.         echo # Dropping an old database file...
  49.         if exist %1 del %1 > nul
  50.         if exist %1 goto ERRDELFDB
  51. REM
  52. :CREATEFDB
  53.         echo # Restoring database from the backup
  54.         "%_FILE_%" -c %FBK% %CoreName%    -user %2 -password %3
  55.         if ERRORLEVEL 1 goto ERRRESFDB
  56.         if not exist %1 goto ERRRESFDB
  57.  
  58.         if exist %DUP% del %DUP% > nul
  59.  
  60.         echo # Done.
  61.  
  62.         goto :EOF
  63.  
  64. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  65. REM     ERRORS                                                             REM
  66. REMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREMREM
  67. :ERR_PAR1
  68.         echo !! Missing 1st command line argument: Path to DB file
  69.         pause
  70.         set _FILE_=""
  71.         goto :EOF
  72. :ERR_PAR2
  73.         echo !! Missing 2nd command line argument: user name to connect to DB
  74.         pause
  75.         goto :EOF
  76. :ERR_PAR3
  77.         echo !! Missing 3rd command line argument: password to connecto to DB
  78.         pause
  79.         goto :EOF
  80. :ERRFBK
  81.         ECHO Missing Firebird's backup file "%FBK%" to create database from.
  82.         pause
  83.         goto :EOF
  84. :ERRDUPFDB
  85.         ECHO Unable to duplicate the original Firebird's database file "%FDB%".
  86.         pause
  87.         goto :EOF
  88. :ERRDELFDB
  89.         ECHO Unable to delete original Firebird's database file "%FDB%". Maybe someone is still connected to this database.
  90.         pause
  91.         goto :EOF
  92. :ERRRESFDB
  93.         ECHO Unable to recreated Firebird's database file "%FDB%" - restoration has failed.
  94.         pause
  95.         goto :EOF
  96. :ERREXE
  97.         ECHO Missing gbak.exe executable file. It is expected on "%_FILE_%" path
  98.         pause
  99.         goto :EOF
  100.  
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 02-12-2018, 15:23:15
Citace
]Dobre, ale jak s tim vsim mame nalozit? Z popisu jsem pochopil, ze selhal externi nastroj (jak?) pri backupu databaze serverem Firebird 2.5, jenz jsi dodatecne nainstaloval. Takze ta databaze nebyla vytvorena verzi 2.5?
Server nebol nainštalovaný korektne. Bila sa mi 2.5 s 3. Knižnice vo Windows. Takže DB manažér sa nedokázal pripojiť k DB. Nič viac za tým nehľadajte.
Je to verzia Firebird-2.5.1.26351_1_Win32.exe.
Ide o jednorázovú akciu. Ostané DB som si prekonvertoval ale táto mi ušla. Teraz treba upraviť aplikáciu a kvôli tomu to nemôžem urobiť. DB nemá ani 2 MB.
Ak sa tu nikto nenájde, tak budem hľadať nejaký PC, na ktorom to budem môcť urobiť.
To pf1957 - kým to naštudujem a pochopím, tak to 10 x urobím na nejakom PC - len ho nájsť  :)  Predtým som to robil pomocou EMS manager-u a nebol žiaden problém.
Název: Re:Záloha FB 2.5
Přispěvatel: vandrovnik 03-12-2018, 20:00:24
Mám nainstalovanou verzi 2.5 i 3.0, tak pokud bys chtěl, zálohu ve 2.5 Ti můžu udělat.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 03-12-2018, 22:10:04
Ďakujem, už to mám.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:14:04
Tvrdo som narazil. Manažér DB otvorí a tvrdí, že to je verzia 3.0 Viď obrázok.
Program ju tvrdo odmieta s tým, že to je neplatná DB.
Neviem čo mám vlastne urobiť. Mám tam len 14 tabuliek, takže prichádza do úvahy aj komplet nové vytvorenie. Nerád by som prišiel o údaje
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:20:16
Vytvoril som DB nanovo. Prázdnu - nič v nej nie definované. A už ričí, že DB je neplatná :'( :'( :'( ???
Neviem kde mám zradu, ale skopíroval som určite platnú DB, premenoval som ju a výsledok je rovnaký = neplatná DB. Pritom pri debug móde využívam priamo adresár FB.
Název: Re:Záloha FB 2.5
Přispěvatel: Delfin 04-12-2018, 12:20:42
Tvrdo som narazil. Manažér DB otvorí a tvrdí, že to je verzia 3.0 Viď obrázok.
Program ju tvrdo odmieta s tým, že to je neplatná DB.
Neviem čo mám vlastne urobiť. Mám tam len 14 tabuliek, takže prichádza do úvahy aj komplet nové vytvorenie. Nerád by som prišiel o údaje

Porad nemam zdani, na co se tu ptas. Pokud tim programem myslis svou vlastni aplikaci, pak ta aplikace pravdepodobne pouziva starsi embedded server (nebo se ke starsimu serveru pripojuje). Pouzij verzi serveru jenz pouziva ten DB manazer (kteremu pripojeni funguje).
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:27:05
Trochu som doplnil info + mám len jedinú verziu serveru. A pri FB3 vlastne embeded server neexistuje. Používa na to fbclient.dll. Ale viď hore - skopírovanie dobrej DB.
Název: Re:Záloha FB 2.5
Přispěvatel: Delfin 04-12-2018, 12:33:54
Trochu som doplnil info + mám len jedinú verziu serveru. A pri FB3 vlastne embeded server neexistuje. Používa na to fbclient.dll. Ale viď hore - skopírovanie dobrej DB.

Dobre, a ten embedded server jenz ta aplikace (FireDAC, bych tipoval) pouziva je urcite verze 3?
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:36:10

Je. Iný nemám. A je to FireDAC.

Doplňujem, že pri otváraní projektu mi hlási túto chybu
Citace
Access violation at address 20200003 in module 'htmide210.bpl'. Write of address BB3BAFB8.

[20200003]{htmide210.bpl} HTMLBaseFrame.THTMLBaseFrameWindow.CommandUpdateAfterExecuteCommand (Line 2151, "HTMLBaseFrame.pas" + 57) + $177
[5005F87D]{rtl210.bpl  } System.@AfterConstruction (Line 16999, "System.pas" + 2) + $5

Ja tomu nerozumiem
Název: Re:Záloha FB 2.5
Přispěvatel: Delfin 04-12-2018, 12:41:24

Je. Iný nemám. A je to FireDAC.

Doplňujem, že pri otváraní projektu mi hlási túto chybu
Citace
Access violation at address 20200003 in module 'htmide210.bpl'. Write of address BB3BAFB8.

[20200003]{htmide210.bpl} HTMLBaseFrame.THTMLBaseFrameWindow.CommandUpdateAfterExecuteCommand (Line 2151, "HTMLBaseFrame.pas" + 57) + $177
[5005F87D]{rtl210.bpl  } System.@AfterConstruction (Line 16999, "System.pas" + 2) + $5

Ja tomu nerozumiem

Jsme od sebe pres 1500km. Tak daleko nevidim ;D Takze v cem je teda problem? Pri otevirani projektu (vidim tam module htmide210.bpl) Ti vypadne tato AV? Pokud ano, nejspis jsi nechal v navrhu nejaky aktivni dataset objekt a podrazil sis vetev zmenou databaze. Nebo se Ti nedari k te databazi pripojit a ten posledni prispevek je jiny problem?
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:51:12



Doplnil som FireDAC.Phys.FB.TFDPhysFBDriverLink a už dostávam


Access violation at address 174DF872 in module 'bindcomp210.bpl'. Read of address 1F01C764.


[174DF872]{bindcomp210.bpl} Data.Bind.Components.GetBindEditor (Line 3401, "Data.Bind.Components.pas" + 3) + $4
[5005F87D]{rtl210.bpl  } System.@AfterConstruction (Line 16999, "System.pas" + 2) + $5


Pripojenie k DB je skopírované z funkčného projektu.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 12:54:03
Všetko čo je spojené s DB vytváram dynamicky! Idem skontrolovať transakcie a connection.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 13:03:07
Hm, tak pri otváraní projektu mi už chybu nehlási.
Ten oznam o neplatnej DB mi vypíše pri pokuse otvoriť tabuľku. To už som úspešne pripojený do DB.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 13:21:40
Tak som si to prečistil a chybu hlási už pri pokuse o prip.jenie k DB. Takže nie, nie som pripojený k DB.
Tá aplikácia bola šitá horúcou ihlou s tým, že ju v budúconosti dorobím. Ale to už sú dva-tri roky + zmena verzie DB.
Název: Re:Záloha FB 2.5
Přispěvatel: Stanislav Hruška 04-12-2018, 13:28:15
Takže ďakujem za ochotu. Chyba bola v nastavení Connection.
To je tak keď mám kríženca pôvodného zdrojáku a nového - kopírovaného z auktuálne vyvíjanej aplikácie.