V D2000 Systéme od verzie 9.1 bola zmenená podpora databázovej platformy Sybase. Vzhľadom na podporu unikódových reťazcov bolo nutné prejsť v rámci niektorých aplikačných databáz k používaniu databázovej platformy Sybase 12 namiesto staršej Sybase 9. Z toho vyplýva, že každá aplikácia, ktorá chce používať ako základ databázovú platformu Sybase musí obsahovať svoju konfiguračnú (syscfg.db) a monitorovaciu (logfile.db) databázu vo verzii Sybase 12.

V prípade vytvárania novej čistej aplikácie v D2000 Systéme od verzie v9.1, nie sú potrebné žiadne dodatočné kroky pre podporu Sybasu 12, iba vytvorenie samotnej aplikácie štandardným spôsobom. Pri vytváraní je znefunkčnená možnosť vytvoriť konfiguráciu aplikácie na databázovej platforme Sybase verzie 9.
V prípade portácie starej aplikácie z verzie nižšej ako D2000 v9.1 je nutné vykonať upgrade aplikačných databáz. Upgrade vykoná konverziu zvolených databáz zo Sybase 9 na Sybase 12. Z toho dôvodu je potrebné mať na cieľovom počítači nainštalovaný Sybase 12 a založený aspoň jeden engine na tejto platforme. Pre vykonanie upgradu nie je potrebná prítomnosť Sybase 9.

Je potrebné si uvedomiť, že čas potrebný na upgrade databázy je závislý od jej veľkosti na disku. V prípade veľkej veľkosti databázy (>2 GB) môže trvať upgrade aj niekoľko hodín.
Pre prípad portácie je potrebné vykonať nasledujúce kroky:

  • Vo verzii D2000 v9.1 a vyššej je potrebné vytvoriť novú aplikáciu, pomocou modulu D2000 Management Console.
  • Z adresárovej štruktúry starej aplikácie (verzia nižšia ako D2000 v9.1) je potrebné prekopírovať aplikačné databázy:
    • SysCfg.db
    • LogFile.db – v prípade, že veľkosť monitorovacej databázy je príliš veľká, čím by sa doba trvania upgradu aplikácie výrazne predĺžila, je v niektorých prípadoch lepšie nahradiť tento súbor čistou databázou, ktorá sa nachádza v adresári templates\Sybase9 adresárovej štruktúry D2000 Systému.
    • Archiv.db
  • Vykonať automatický upgrade popisovaný v nasledujúcich odsekoch.

Poznámka: Od verzie D2000 v9.1 ostáva podpora databázovej platformy Sybase 9 nezmenená pre archívne databázy. Z toho dôvodu nie je ich upgrade nevyhnutný pre fungovanie aplikácie aj v novších verziách. V prípade, ak sa užívateľ rozhodne ponechať archívne databázy na databázovej platforme Sybase 9, je nutné pre ne vytvoriť odpovedajúci engine na platforme Sybase 9. Z to vyplýva, v prípade takéhoto postupu, nutnosť mať na cieľovom počítači nainštalovaný aj Sybase 9. Automatický upgrade aplikácie nemá žiadny vplyv na upgrade trezorových databáz. Upgrade takýchto databáz je nutné vykonať manuálne pomocou tohto návodu. Od verzie Sybase 12, bola zrušená podpora komprimovaných trezorových databáz s príponou .cdb, preto v prípade nutnosti upgradovať takúto databázu na Sybase 12 (prípadne v systéme D2000 od verzie v9.1), je nutné komprimovanú databázu previesť na nekomprimovanú databázu s príponou .db a až následne vykonať jej upgrade.

Upgrade


V D2000 ManagementConsole, záložka Aplikácie vyberte z popup menu Akcie položku Aktualizovať databázu na V9.1. Táto voľba môže byť znefunkčnená, ak aplikácia práve beží. Upgrade aplikácie je možné vykonať, len ak je táto zastavená.

Po výbere položky Aktualizovať databázu na V9.1 sa otvorí nasledovné dialógové okno:

Povýšenie databázy

Umožňuje aktualizovať:

  1. aplikačnú databázu
  2. archívnu databázu

Aktualizácia aplikácie

V tejto časti je možné nastaviť upgrade aplikácie na verziu D2000 v9.1. Tento krok zahŕňa konverziu databáz na Sybase 12.

Upgradovanie aplikácie sa vykoná upgradovaním databáz SysCfg.db a LogFile.db, ktoré obsahuje každá aplikácia. V prípade, že konverzia nebude z nejakého dôvodu úspešná, je automaticky vykonaná záloha týchto databáz (viď činnosti pri upgrade). Počas upgradu sa taktiež vykoná zmena kódovania databáz a pre reťazce bude nastavené kódovanie UTF-8.


Aktualizácia archívov

Táto časť obsahuje zoznam archívov aplikácie, ktoré sa môžu povýšiť. V rozbalenom zozname sa vyberie archív. Po stlačení tlačidla Add sa otvorí nové dialógové okno s voľbou enginu.

Povýšenie archívu

Po potvrdení voľby, sa archív automaticky zaradí do zoznamu upgradov. Z tohto zoznamu sa môže odobrať tlačidlom Remove. Rovnaký archív však môže byť v zozname iba raz, preto sa musí najprv odobrať, ak chcete svoju voľbu enginu alebo kódovania editovať.

Samotný upgrade sa vykonáva až po stlačení tlačidla Upgrade. Najprv sa vykonáva upgrade aplikácie (ak je zvolený) a potom sa vykoná upgrade každého archívu, ktorý je v zozname.

Poznámka: Je potrebné si uvedomiť, že vykonanie upgradu aplikácie alebo archívov môže trvať pomerne dlho a môže plne vyťažiť zdroje počítača v závislosti od veľkosti a počtu upgradovaných databáz. Ak je niektorá databáza príliš veľká, je možné, ak to okolnosti dovoľujú, ju manuálne nahradiť novým prázdnym templatom (neplatí pre databázu syscfg.db), ktorého upgrade trvá kratšiu dobu.

Pri upgrade každej databázy dôjde k nasledujúcim činnostiam:

  • v priečinku s databázou sa vytvorí pomocný priečinok s názvom conversion. Tu sa vytvorí záloha s názvom databázy plus času, kedy sa záloha vytvárala. Taktiež sa tu vytvoria rôzne pomocné súbory, ktoré budú potrebné k upgrade databázy. Tieto, však, po úspešnom ukončení upgradu nie sú viac potrebné a môžu byť vymazané.
  • V priečinku convert sa vytvorí nová čistá databáza verzie Sybase 12, do ktorej sa presunú všetky údaje z pôvodnej databázy.
  • Stará databáza sa nahradí novou, pričom súbor s novou databázou v pomocnom priečinku bude zmazaný. Záloha starej databázy ostane.

Pomocné priečinky a kópia databázy sa vytvára v prípade, že sa požaduje len samotná zmena kódovania databázy (bez upgradu).


Upgrade ľubovoľnej databázy

(nepoužívať pre upgrade syscfg.db, logfile.db, archiv.db)

Pre upgrade je potrebné mať nainštalovaný Sybase verzie 12 (Sybase 9 nie je pre upgrade na vyššiu verziu potrebný). Ďalej je potrebné skontrolovať, či systémová premenná %SqlAny12% ukazuje cestu v súborovom systéme, kde je Sybase 12 nainštalovaný (štandardne c:\Program Files\SQL Anywhere 12\). Na upgrade sa využívajú tri utility - dbunload, dbinit, dbisql, ktoré sú umiestnené v priečinku BinXX (XX = 32/64) podľa toho, či sa upgraduje na 32 alebo 64 bitovú verziu.

Pre upgrade databázy je možné použiť nasledovný skript, podľa verzie nainštalovanej databázovej platformy Sybase 12 na cieľovom počítači.

Pre 32-bitový Sybase 12: upgrade.cmd
Pre 64-bitový Sybase 12: upgrade_win64.cmd

Použitie skriptu je nasledovné:

  1. Otvor cmdline v adresári s databázou.
  2. Spusti skript podľa nainštalovanej verzie sybasu (upgrade/upgrade_win64) nasledovne:

    upgrade.cmd <meno_databazy> \[<db_user>\] \[<db_password>\]
     
    meno_databazy - názov databázy (prípadne plná cesta)
    db_user - meno databázového používateľa - ak sa nezadá, použije sa prednastavené dba
    db_password - heslo databázového používateľa - ak sa nezadá, použije sa prednastavené swx

  3. Čakaj na výsledok, ktorý oznámi skript na konci jeho vykonávania.

Manuálny upgrade databázy

V prípade, ak chce mať užívateľ plnú kontrolu nad upgradom databázy je možné aplikovať nasledujúci postup.

Pred samotným upgradom sa odporúča vytvoriť zálohu databáz (skopírovaním *.db súboru do iného priečinku) pre prípad, že sa upgrade nepodarí.

Upgrade sa vykonáva v piatich fázach:

  1. Nakopírovanie súboru authenticate.sql, ktorý sa nachádza v štandardnom adresári Templates programového adresára D2000. Súbor je treba nakopírovať do adresára %SqlAny12%/scripts.
  2. Odpojenie databázy a vytvorenie reload sql skriptu, ktorý dokáže celú databázu znova vytvoriť.
    "%SqlAny12%\BinXX\dbunload" -c "UID=dba;PWD=swx;DBF=dbPath" dbPathDir -r reloadPath -o logPath
    
  3. Vytvorenie novej čistej databázy už vo verzii 12.
    "%SqlAny12%\BinXX\dbinit" -p 16384 -z utf8 emptydbPath
    Poznámka: Hodnota 16384 je veľkosť stránky v databáze, ktorú štandardne používa D2000 pre Sybase12, ale nie je záväzná. Za prepínačom -z je uvedené kódovanie, ktoré sa databáze nastaví.
  4. Skopírovanie dát do čistej databázy pomocou reload skriptu, ktorý bol vygenerovaný v bode 1.
    "%SqlAny12%\BinXX\dbisql" -c "uid=dba;pwd=sql;dbf=emptydbPath" -nogui READ reloadPath
    
  5. Nahradenie starej databázy novo vytvorenou.
    COPY emptydbPath  dbPath

Vysvetlivky:

BinXX Možné hodnoty: Bin32, Bin64
dbPath Cesta k databázovému súboru, ktorý sa má povýšiť na Sybase12. Cesta musí obsahovať aj názov daného súboru spolu s príponou.
Príklad: C:\D2000\D2000.APP\mojapokusna\SELF1\Archiv.db
dbPathDir Cesta k adresáru, v ktorom sa nachádza databázový súbor. Musí ísť iba o cestu k adresáru bez ukončovacieho lomky '\', nesmie  obsahovať názov databázového súboru.
Príklad: C:\D2000\D2000.APP\mojapokusna\SELF1
reloadPath Cesta v adresárovej štruktúre, v ktorej sa vytvorí reload skript, vrátane jeho názvu.
Napríklad: C:\D2000\reload.sql
logPath Cesta v adresárovej štruktúre, v ktorej sa vytvorí logovací súbor. Budú v ňom zapísané všetky informácie, ktoré poskytne utilita dbunload.
Napríklad: C:\D2000\dbunload.log
emptydbPath Cesta v adresárovej štruktúre, v ktorej sa vytvorí nová čistá databáza, vrátane jej názvu a prípony. Nemala by byť zhodná s dbPath.
Napríklad: C:\D2000\D2000.APP\mojapokusna\SELF1\NovyArchiv.db

Poznámka: Cesty k adresárom alebo súborom, ktoré obsahujú medzeru, musia byť uzatvorené v zátvorkách.

Ak boli všetky body úspešne ukončené, databáza v priečinku dbPath je povýšená. Počas upgradu vytvorí databáza v priečinku reloadPath niekoľko súborov s príponou .dat a jeden reload skript, ktoré po úspešnom upgrade už viac nie sú potrebné.

Napíšte komentár