{"id":30280,"date":"2019-10-31T21:34:38","date_gmt":"2019-10-31T18:34:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\/"},"modified":"2019-10-31T21:34:38","modified_gmt":"2019-10-31T18:34:38","slug":"potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","title":{"rendered":"Konvertimi i rrjedhsh\u00ebm i bazave Firebird 2.5 n\u00eb formatin ODS12 (Firebird 3.0)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c7do version i Firebird ka versionin e vet t\u00eb formatit t\u00eb strukturave t\u00eb disqeve t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave \u2013 O(n)D(isk)S(tructure). Deri n\u00eb versionin 2.5, motori Firebird mund t\u00eb punoj\u00eb me ODS t\u00eb versioneve t\u00eb m\u00ebparshme, q\u00eb do t\u00eb thot\u00eb se bazat nga versionet e vjetra hapeshin nga versioni i ri dhe punonin n\u00eb modalitetin e kompatibilitetit, por motori Firebird 3.0 punon vet\u00ebm me bazat e t\u00eb dh\u00ebnave n\u00eb versionin e tij ODS 12.0.<\/p>\n<p>P\u00ebr t\u00eb kaluar n\u00eb 3.0, baza e t\u00eb dh\u00ebnave nga 2.5 duhet t\u00eb konvertohet n\u00eb formatin e ri p\u00ebrmes backup\/restore. Sigurisht, ne supozojm\u00eb se baza e t\u00eb dh\u00ebnave \u00ebsht\u00eb p\u00ebrgatitur paraprakisht p\u00ebr konvertim \u2014 pra, metadat dhe pyetjet jan\u00eb kontrolluar p\u00ebr kompatibilitet me Firebird 3.0.<\/p>\n<p>N\u00ebse ndjekim qasjen standarde, kjo do t\u00eb thot\u00eb q\u00eb duhet t\u00eb b\u00ebjm\u00eb nj\u00eb backup n\u00eb versionin 2.5, pastaj t\u00eb instalojm\u00eb 3.0 dhe t\u00eb b\u00ebjm\u00eb restore. Kjo procedur\u00eb \u00ebsht\u00eb e pranueshme n\u00ebse kemi mjaft koh\u00eb, por gjat\u00eb migrimit t\u00eb bazave t\u00eb dh\u00ebnave t\u00eb m\u00ebdha ose kur migrimi i dhjet\u00ebra bazave ndodh n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, kur koha \u00ebsht\u00eb e \u00e7muar, mund t\u00eb p\u00ebrdorim konvertimin n\u00eb rrjedh\u00eb, i cili \u00ebsht\u00eb 30-40% m\u00eb i shpejt\u00eb. Si t\u00eb veprojm\u00eb sakt\u00ebsisht (n\u00ebn Windows dhe Linux), lexoni m\u00eb posht\u00eb.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIdeja e p\u00ebrgjithshme \u00ebsht\u00eb se p\u00ebr t\u00eb p\u00ebrshpejtuar do t\u00eb p\u00ebrdorim nj\u00eb pipeline:<\/p>\n<pre><code class=\"plaintext\">gbak -b \u2026 baza25 stdout | gbak -c \u2026 stdin baza30<\/code><\/pre>\n<p>\nGbak nga 2.5 gjeneron nj\u00eb backup n\u00eb format linear dhe e drejton at\u00eb n\u00eb stdout, i cili menj\u00ebher\u00eb kapet nga gbak nga 3.0 p\u00ebrmes stdin dhe krijon nj\u00eb baz\u00eb t\u00eb re.<\/p>\n<p>Organizimi i nj\u00eb pipeline t\u00eb till\u00eb \u00ebsht\u00eb e domosdoshme t\u00eb kryhet patjet\u00ebr me metod\u00ebn lokale (file), pasi qasja n\u00eb rrjet (edhe p\u00ebrmes localhost) do ta ngadal\u00ebsonte ndjesh\u00ebm procesin.<\/p>\n<p>M\u00eb posht\u00eb shqyrtojm\u00eb detajet p\u00ebr Windows dhe Linux.<\/p>\n<p><b>Windows<\/b><\/p>\n<p>N\u00eb rastin e Windows, m\u00eb e thjesht\u00eb \u00ebsht\u00eb t\u00eb b\u00ebjm\u00eb nj\u00eb nd\u00ebrtim plot\u00ebsisht autonom t\u00eb Firebird. P\u00ebr k\u00ebt\u00eb, marrim <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/FirebirdSQL\/firebird\/releases\/download\/R2_5_8\/Firebird-2.5.8.27089-0_x64_embed.zip\">arkivin embed t\u00eb Firebird 2.5<\/a><\/noindex>, e rid\u00ebgjojm\u00eb fbemded.dll n\u00eb fbclient.dll, shtojm\u00eb nga arkivi i 'zakonsh\u00ebm' 2.5 utilitetin gbak.exe dhe (p\u00ebrjoq\u00ebsisht) \u2013 isql.exe. <\/p>\n<p>Firebird 3.0 p\u00ebrdor <noindex><a rel=\"nofollow\" href=\"https:\/\/firebirdsql.org\/en\/firebird-3-0\/\">nj\u00eb nd\u00ebrtim t\u00eb vet\u00ebm<\/a><\/noindex> dhe nuk k\u00ebrkon asnj\u00eb p\u00ebrmir\u00ebsim.<\/p>\n<p>Opsioni m\u00eb minimal (i cili nuk k\u00ebrkon instalimin e bibliotekave runtime VS2008\/VS2010 n\u00eb sistemin e synuar) p\u00ebrmban skedar\u00ebt e m\u00ebposht\u00ebm:<\/p>\n<pre><code class=\"plaintext\">25\/gbak.exe\n25\/fbclient.dll\n25\/firebird.conf\n25\/firebird.log\n25\/firebird.msg\n25\/ib_util.dll\n25\/icudt30.dll\n25\/icuin30.dll\n25\/icuuc30.dll\n25\/Microsoft.VC80.CRT.manifest\n25\/msvcp80.dll\n25\/msvcr80.dll\n\n30\/fbclient.dll\n30\/firebird.conf\n30\/firebird.msg\n30\/gbak.exe\n30\/ib_util.dll\n30\/icudt52.dll\n30\/icudt52l.dat\n30\/icuin52.dll\n30\/icuuc52.dll\n30\/msvcp100.dll\n30\/msvcr100.dll\n30\/intl\/fbintl.conf\n30\/intl\/fbintl.dll\n30\/plugins\/engine12.dll<\/code><\/pre>\n<p>\nNj\u00eb administrator i p\u00ebrvoj\u00ebs mund t\u00eb v\u00ebrej\u00eb se n\u00eb 2.5 nuk p\u00ebrfshihen skedar\u00ebt intl\/fbintl.dll dhe intl\/fbintl.conf. Kjo \u00ebsht\u00eb e v\u00ebrtet\u00eb, pasi gbak nuk p\u00ebrdor charset t\u00eb lidhjes dhe nuk konverton t\u00eb dh\u00ebnat midis charset-ve, por n\u00eb an\u00ebn e \"pranimit\" t\u00eb Firebird 3.0 k\u00ebta skedar\u00eb jan\u00eb t\u00eb nevojsh\u00ebm p\u00ebr krijimin e indekseve.<\/p>\n<p>N\u00eb firebird.conf Firebird 3.0 rekomandohet t\u00eb shtohet:<\/p>\n<pre><code class=\"plaintext\">MaxUnflushedWrites = -1\nMaxUnflushedWriteTime = -1<\/code><\/pre>\n<p>\nGjithashtu, \u00ebsht\u00eb e preferueshme t\u00eb vendosni vlera t\u00eb ndryshme p\u00ebr IpcName p\u00ebr 2.5 dhe 3.0. <\/p>\n<p>Kur zgjedhim vlerat e parametrave t\u00eb tjer\u00eb n\u00eb firebird.conf, jemi t\u00eb orientuar nga nj\u00eb arsyetim i thjesht\u00eb: n\u00eb etap\u00ebn e transferimit t\u00eb t\u00eb dh\u00ebnave, n\u00eb nj\u00eb proces gbak punon 2.5, dhe n\u00eb tjetrin \u2013 3.0, pastaj 2.5 p\u00ebrfundon pun\u00ebn, dhe 3.0 fillon nd\u00ebrtimin e indekseve.<\/p>\n<p>P\u00ebr t\u00eb p\u00ebrshpejtuar faz\u00ebn e nd\u00ebrtimit t\u00eb indekseve n\u00eb 3.0, rekomandohet t\u00eb rritet madh\u00ebsia e parametrin TempCacheLimit deri n\u00eb ~40% t\u00eb RAM (n\u00ebse \u00ebsht\u00eb server i dedikuar, natyrisht).<\/p>\n<p>P\u00ebr shembull, n\u00ebse serveri ka 16 GB RAM, at\u00ebher\u00eb mund t\u00eb vendosni <\/p>\n<pre><code class=\"plaintext\">TempCacheLimit=6G<\/code><\/pre>\n<p>\n<i>Natyrisht, nj\u00eb vler\u00eb e till\u00eb mund t\u00eb vendoset vet\u00ebm te Firebird 3 64-bit, pasi \u00e7do proces 32-bit nuk do t\u00eb jet\u00eb n\u00eb gjendje t\u00eb alokoj\u00eb m\u00eb shum\u00eb se 2 GB memorie.<\/i><\/p>\n<p>Te 2.5 nuk \u00ebsht\u00eb e nevojshme t\u00eb ndryshoni k\u00ebt\u00eb parametrin \u2013 ai nuk mund t\u00eb jet\u00eb m\u00eb i madh se 2 GB, dhe gjithashtu nuk ndikon n\u00eb shpejt\u00ebsin\u00eb gjat\u00eb backup-it.<\/p>\n<p>Para se t\u00eb kryeni operacionin, duhet t\u00eb kontroloni q\u00eb cache i faqes n\u00eb titullin e baz\u00ebs s\u00eb t\u00eb dh\u00ebnave \u00ebsht\u00eb vendosur n\u00eb 0 (komanda <code>gstat -h databasename<\/code>, shikoni rreshtin 'Page buffers'). <\/p>\n<p>N\u00ebse cache \u00ebsht\u00eb caktuar qart\u00eb n\u00eb header-in e DB, at\u00ebher\u00eb ai anullon vlerat nga firebird.conf (dhe databases.conf n\u00eb 3.0), dhe n\u00eb rastin e vlerave t\u00eb pakompleksuara t\u00eb m\u00ebdha mund t\u00eb \u00e7oj\u00eb n\u00eb konsum t\u00eb tepruar t\u00eb memories dhe kalimin n\u00eb swap.<\/p>\n<p>M\u00eb pas, kopjojm\u00eb skedar\u00ebt n\u00eb sistemin e synuar. <\/p>\n<p>Konvertimi kryhet pas ndalimit t\u00eb sh\u00ebrbimit \"sistemor\" Firebird 2.5, n\u00eb komand\u00ebn e linj\u00ebs me t\u00eb drejtat e ngritura deri te administratori lokal (shembull):<\/p>\n<pre><code class=\"plaintext\">set ISC_USER=pronari\n\"25\/gbak\" -z -b -g -v -st t -y 25.log baza25 stdout|^\n\"30\/gbak\" -z -c -v -st t -y 30.log stdin baza30<\/code><\/pre>\n<p>\nN\u00eb k\u00ebt\u00eb shembull p\u00ebrdoret \"kosha e drejtp\u00ebrdrejt\u00eb\" n\u00eb cita (stili i pranuar \"unix-style\"), dhe \"karot\u00eb\" (simboli \"^\") e maskon simbolin e kalimit t\u00eb linj\u00ebs, e cila \u00ebsht\u00eb e p\u00ebrshtatshme p\u00ebr shp\u00ebrndarjen e komandave t\u00eb gjata. Opsioni -st(atus) u shfaq n\u00eb Firebird 2.5.8 dhe lejon regjistrimin e informacionit mbi koh\u00ebn e funksionimit t\u00eb procesit gbak (detajet \u2013 n\u00eb dokumentacion).<\/p>\n<p><b>Linux<\/b><\/p>\n<p>N\u00eb Linux Firebird 3 varet nga biblioteka tommath. N\u00eb CentOS (RHEL) kjo bibliotek\u00eb ndodhet n\u00eb repositorin epel, n\u00eb Ubuntu (Debian) n\u00eb \u2013 sistemor.<\/p>\n<p>P\u00ebr CentOS, fillimisht duhet t\u00eb lidhni repository-n epel dhe pastaj t\u00eb b\u00ebni <\/p>\n<pre><code class=\"plaintext\">yum install libtommath<\/code><\/pre>\n<p>\nUbuntu nuk k\u00ebrkon t\u00eb lidh\u00eb repository t\u00eb tjera, por n\u00eb Ubuntu 16 dhe n\u00eb Ubuntu 18 instalohet version i ndrysh\u00ebm paketash \u2013 libtommath0 dhe libtommath1, p\u00ebrkat\u00ebsisht.<\/p>\n<p>Firebird 3.0 k\u00ebrkon tommath.so.0 dhe p\u00ebr Ubuntu 18 \u00ebsht\u00eb e nevojshme t\u00eb krijoni nj\u00eb lidhje (symlink) nga tommath.so.0 n\u00eb tommath.so.1. P\u00ebr k\u00ebt\u00eb, fillimisht duhet t\u00eb gjeni tommath.so.1. <\/p>\n<p>Rruga e k\u00ebrkuar n\u00eb Ubuntu \u00ebsht\u00eb <code>\/usr\/lib\/x86_64-linux-gnu\/<\/code>, por n\u00eb distro t\u00eb tjera t\u00eb bazuara n\u00eb Debian mund t\u00eb jet\u00eb ndryshe.<\/p>\n<p>Problemi i dyt\u00eb \u00ebsht\u00eb se deri n\u00eb Firebird 3.0.1, p\u00ebrfshir\u00eb, nuk kishte nj\u00eb m\u00ebnyr\u00eb t\u00eb thjesht\u00eb p\u00ebr t\u00eb instaluar dy versione t\u00eb ndryshme t\u00eb serverit. Nuk po e shqyrtojm\u00eb variantin \"kompilohet nga burimi me prefiksin e duhur\" p\u00ebr shkak t\u00eb pun\u00ebs n\u00eb relative tep\u00ebr k\u00ebrkuese.<\/p>\n<p>P\u00ebr Firebird 3.0.2 dhe m\u00eb sip\u00ebr \u00ebsht\u00eb realizuar <noindex><a rel=\"nofollow\" href=\"http:\/\/tracker.firebirdsql.org\/browse\/CORE-5204\">nd\u00ebrmarrja me \u2013enable-binreloc<\/a><\/noindex> dhe nj\u00eb opsion i ve\u00e7ant\u00eb p\u00ebr instaluesin (-path rruga).<\/p>\n<p>Duke supozuar se biblioteka tommath dhe, n\u00ebse nevojitet, lidhja p\u00ebr tommath.so.0 jan\u00eb shtuar n\u00eb sistem, mund t\u00eb instaloni p\u00ebrdit\u00ebsimin aktual (n\u00eb momentin q\u00eb po shkruhet ky artikull) t\u00eb distribucionit t\u00eb Firebird 3.0.4 n\u00eb, p\u00ebr shembull, \/opt\/fb3:<\/p>\n<pre><code class=\"plaintext\">. \/install.sh -path \/opt\/fb3<\/code><\/pre>\n<p>\nPas k\u00ebsaj, mund t\u00eb ndaloni sh\u00ebrbimin sistemor Firebird dhe t\u00eb filloni konvertimin e procesit. <\/p>\n<p><i>Kur ndaloni Firebird, duhet t\u00eb merret parasysh se proceset e Firebird 2.5 n\u00eb m\u00ebnyr\u00ebn Classic zakonisht nisin nga xinetd \u2013 k\u00ebshtu q\u00eb \u00ebsht\u00eb e nevojshme ose t\u00eb ndalohet sh\u00ebrbimi firebird p\u00ebr xinetd ose t\u00eb ndalohet plot\u00ebsisht xinetd.<\/i><\/p>\n<p>N\u00eb firebird.conf p\u00ebr 3.0 n\u00eb Linux nuk \u00ebsht\u00eb e nevojshme t\u00eb caktohen parametrat MaxUnflushed (ato funksionojn\u00eb vet\u00ebm n\u00eb Windows) dhe t\u00eb ndryshohen parametrat e Firebird 2.5. <\/p>\n<p>N\u00eb Linux, qasja lokale (fajll) e Firebird 2.5 nuk \u00ebsht\u00eb ekuivalente me variantin embeded n\u00eb Windows \u2013 serveri 2.5 do t\u00eb funksionoj\u00eb n\u00eb procesin gbak (pa pjes\u00ebn rrjet\u00eb), por t\u00eb drejtat p\u00ebr akses do t\u00eb verifikohen n\u00eb baz\u00ebn e p\u00ebrdoruesve, k\u00ebshtu q\u00eb do t\u00eb nevojiten jo vet\u00ebm login, por edhe fjal\u00ebkalimi: <\/p>\n<pre><code class=\"plaintext\">export ISC_USER=username ISC_PASSWORD=password\n\/opt\/firebird\/bin\/gbak -b \u2026 baza25 stdout\n|\/opt\/fb3\/bin\/gbak -c \u2026 stdin baza30<\/code><\/pre>\n<p>\nPas nj\u00eb konvertimi t\u00eb suksessh\u00ebm, duhet t\u00eb fshihet fillimisht \"Firebird 3.0\" \"shtes\u00eb\", pastaj \"Firebird 2.5\" \"temel\" dhe vet\u00ebm pastaj t\u00eb b\u00ebni nj\u00eb instalim t\u00eb past\u00ebr t\u00eb Firebird 2.5 \u2013 dhe \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb b\u00ebhet nga instaluesi standard tar.gz, jo p\u00ebrmes repository-ve, pasi versioni n\u00eb repository mund t\u00eb jet\u00eb i vonuar.<\/p>\n<p>Gjithashtu, pas rikthimit t\u00eb DB n\u00eb Linux dhe riinstalimit, duhet t\u00eb kontrolloni q\u00eb DB e re t\u00eb ket\u00eb pronar p\u00ebrdoruesin firebird.<\/p>\n<p>N\u00ebse nuk \u00ebsht\u00eb k\u00ebshtu, at\u00ebher\u00eb duhet ta korrigjoni<\/p>\n<pre><code class=\"plaintext\">chown firebird.firebird database<\/code><\/pre>\n<p>\n<b>P\u00ebrfundimi<\/b><\/p>\n<p>P\u00ebrve\u00e7 kursimit t\u00eb koh\u00ebs dhe hap\u00ebsir\u00ebs n\u00eb disk, konvertimi n\u00eb rrjedh\u00eb ka nj\u00eb avantazh t\u00eb r\u00ebnd\u00ebsish\u00ebm tjet\u00ebr \u2013 transformimi i baz\u00ebs b\u00ebhet pa fshir\u00eb Firebird 2.5 ekzistues, gj\u00eb q\u00eb ndihmon n\u00eb leht\u00ebsimin e rikthimit n\u00eb rast t\u00eb nj\u00eb konvertimi t\u00eb d\u00ebshtuar (shpesh nga mungesa e hap\u00ebsir\u00ebs ose ri-ngarkimi i papritur gjat\u00eb procesit t\u00eb migrimit).<\/p>\n<p>Kursimi i koh\u00ebs \u00ebsht\u00eb i lidhur me faktin q\u00eb konvertimi \u00abklasik\u00bb \u00ebsht\u00eb \u00abkoha e backup-it\u00bb plus \u00abkoha e rikuperimit\u00bb. Rikuperimi p\u00ebrb\u00ebhet prej dy pjes\u00ebve: leximi i t\u00eb dh\u00ebnave nga skedari i backup-it dhe nd\u00ebrtimi i indeksit.<\/p>\n<p>Me konvertim n\u00eb rrjedh\u00eb, koha totale del si \u00abkoha e backup-it plus pes\u00eb deri n\u00eb dhjet\u00eb p\u00ebrqind\u00bb dhe \u00abkoha e nd\u00ebrtimit t\u00eb indekseve\u00bb.<\/p>\n<p>Rezultatet konkrete varen nga struktura e baz\u00ebs, por n\u00eb mesatare koha e rikuperimit \u00ebsht\u00eb rreth dyfishi i koh\u00ebs s\u00eb backup-it. Prandaj, n\u00ebse marrim si nj\u00ebsi koh\u00ebn e backup-it, konvertimi \u00abklasik\u00bb merr tre nj\u00ebsi kohe, nd\u00ebrsa ai n\u00eb rrjedh\u00eb merr dy nj\u00ebsi kohe. Rritja e TempCacheLimit ndihmon gjithashtu n\u00eb reduktimin e koh\u00ebs.<\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, konvertimi n\u00eb rrjedh\u00eb n\u00eb praktik\u00eb lejon kursimin e 30-40% t\u00eb koh\u00ebs s\u00eb backup-it dhe rikthimit sekuencial.<\/p>\n<p><b>Keni pytje?<\/b><\/p>\n<p>Ju lutem, d\u00ebrgoni t\u00eb gjitha pyetjet n\u00eb komentet, ose drejtohuni autorit t\u00eb metodik\u00ebs dhe bashkautor\u00ebve t\u00eb k\u00ebtij artikulli \u2013 Vasili Sidorov, inxhinierin e sistemit t\u00eb kompanis\u00eb \u00abiBase\u00bb, n\u00eb adres\u00ebn bs at ibase ru.<\/p>\n<p class=\"for_users_only_msg\">Vet\u00ebm p\u00ebrdoruesit e regjistruar mund t\u00eb marrin pjes\u00eb n\u00eb anket\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Hyni<\/a><\/noindex>, ju lutem.<\/p>\n<h2 class=\"default-block__polling-title\">Cil\u00ebn version t\u00eb Firebird p\u00ebrdorni?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 3.x<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.5<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.1<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.0, 1.5 ose 1.0<\/p>\n<\/li>\n<\/ul>\n<p>    16 p\u00ebrdorues kan\u00eb votuar. 1 p\u00ebrdorues \u00ebsht\u00eb abstenuar.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445204\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure). \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.5 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0432\u0438\u0436\u043e\u043a Firebird \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 ODS \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0432\u0438\u0436\u043e\u043a Firebird 3.0 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0411\u0414 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 ODS \u0432\u0435\u0440\u0441\u0438\u0438 12.0. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30280","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0431\u0430\u0437 Firebird 2.5 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 ODS12 (Firebird 3.0) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:34:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Konvertimi n\u00eb rrjedh\u00eb i bazave Firebird 2.5 n\u00eb formatin ODS12 (Firebird 3.0) | ProHoster","description":"\u00c7do version i Firebird ka versionin e tij t\u00eb formatit t\u00eb strukturave t\u00eb disqeve t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave \u2013 O(n)D(isk)S(tructure).","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0431\u0430\u0437 Firebird 2.5 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 ODS12 (Firebird 3.0) | ProHoster","og:description":"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure).","og:url":"https:\/\/prohoster.info\/sq\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:34:38+00:00","article:modified_time":"2019-10-31T18:34:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30280","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 00:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:29:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30280"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30280\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}