{"id":1126,"date":"2022-03-11T12:14:52","date_gmt":"2022-03-11T15:14:52","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=1126"},"modified":"2022-10-25T12:07:43","modified_gmt":"2022-10-25T15:07:43","slug":"versoes-distintas-do-firebirdsql-no-mesmo-windows","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/banco-de-dados\/versoes-distintas-do-firebirdsql-no-mesmo-windows\/","title":{"rendered":"Different versions of FirebirdSQL on the same Windows"},"content":{"rendered":"<p>A inten\u00e7\u00e3o deste artigo \u00e9 permitir que um mesmo host tenha duas ou mais vers\u00f5es do Firebird. Voc\u00ea vai precisar disso em duas situa\u00e7\u00f5es ao menos: (1) \u00c9 um desenvolvedor e d\u00e1 suporte a mais de uma vers\u00e3o do Firebird e (2) Est\u00e1 migrando de vers\u00e3o de banco de dados para outra mais recente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">REQUIREMENTS<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>A good text editor for editing configuration files, I recommend notepad++. <\/li><li>Firebird 3 Installer<\/li><li>Firebird 4 Installer<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">INSTALLING FIREBIRD 3<\/h2>\n\n\n\n<p>1. Install FB3 version, use default installer.<\/p>\n\n\n\n<p>2. Run \u201cservices.msc\u201d and then stop the default instance called \u201cDefaultInstance\u201d, then go to cmd as administrator and place yourself in the default installation folder:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">cd &quot;C:\\Program Files\\Firebird\\Firebird_3_0&quot;\ninstsvc.exe r -n &quot;DefaultInstance&quot;<\/pre><\/div>\n\n\n\n<p>If successful, the message will appear <strong><em>\u201cService \u201cFirebird Server \u2013 DefaultInstance\u201d successfully deleted.\u201d<\/em><\/strong> ent\u00e3o a inst\u00e2ncia padr\u00e3o deste Firebird foi corretamente removida.<\/p>\n\n\n\n<p>3. Creating a new instance with another name for Firebird 3.0:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">instsvc.exe i -n &quot;Firebird3&quot;<\/pre><\/div>\n\n\n\n<p>Firebird3 will not be operational until we start the service via \u201cservices.msc\u201d, but we won&#039;t do that yet because we still have to install FB4 and indicate the ports that each installation will respond to.<\/p>\n\n\n\n<p>4. Still as administrator in cmd, run:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">notepad++ &quot;C:\\Program Files\\Firebird\\Firebird_3_0\\firebird.conf&quot;<\/pre><\/div>\n\n\n\n<p>Ao inv\u00e9s de notepad++ pode usar um editor de sua prefer\u00eancia. Localizamos a linha:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">#RemoteServicePort = 3050<\/pre><\/div>\n\n\n\n<p>Ent\u00e3o ap\u00f3s coment\u00e1-la usando &#8220;#&#8221; no inicio da linha, acrescentamos logo depois:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">RemoteServicePort = 3060<\/pre><\/div>\n\n\n\n<p>FirebirdSQL3 needs a specific port to send events, a feature that is little used, but very interesting. I recommend you set a specific port for it, otherwise FirebirdSQL3 will choose a random port and that&#039;s bad, so find the following line:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">#RemoteAuxPort = 0<\/pre><\/div>\n\n\n\n<p>Ent\u00e3o ap\u00f3s coment\u00e1-la usando &#8220;#&#8221; no inicio da linha, acrescentamos logo depois:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">RemoteAuxPort = 3061<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">FIREBIRD 4 INSTALLATION<\/h2>\n\n\n\n<p>1. Install FB4 version, use default installer.<\/p>\n\n\n\n<p>2. Run \u201cservices.msc\u201d and then stop the default instance called \u201cDefaultInstance\u201d (same as FB3), then go to cmd as administrator and place yourself in the default installation folder:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">cd &quot;C:\\Program Files\\Firebird\\Firebird_4_0&quot;\ninstsvc.exe r -n &quot;DefaultInstance&quot;<\/pre><\/div>\n\n\n\n<p>If successful, the message will appear <strong><em>\u201cService \u201cFirebird Server \u2013 DefaultInstance\u201d successfully deleted.\u201d<\/em><\/strong> ent\u00e3o a inst\u00e2ncia padr\u00e3o deste Firebird foi corretamente removida.<\/p>\n\n\n\n<p>3. Creating a new instance for Firebird 4.0, still in the default FB4 folder:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">instsvc.exe i -n &quot;Firebird4&quot;<\/pre><\/div>\n\n\n\n<p>4. Still as administrator in cmd, run:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">notepad++ &quot;C:\\Program Files\\Firebird\\Firebird_4_0\\firebird.conf&quot;<\/pre><\/div>\n\n\n\n<p>Ao inv\u00e9s de notepad++ pode usar um editor de sua prefer\u00eancia. Ent\u00e3o novamente localizamos a linha:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">#RemoteServicePort = 3050<\/pre><\/div>\n\n\n\n<p>Ent\u00e3o ap\u00f3s coment\u00e1-la usando &#8220;#&#8221; no inicio da linha, acrescentamos logo depois:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">RemoteServicePort = 4060<\/pre><\/div>\n\n\n\n<p>As in the previous version, Firebird4 needs to have a specific port to send events, if no specific one is chosen then a random port will be chosen and this is bad, so find the following line:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">#RemoteAuxPort = 0<\/pre><\/div>\n\n\n\n<p>Ent\u00e3o ap\u00f3s coment\u00e1-la usando &#8220;#&#8221; no inicio da linha, acrescentamos logo depois:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">RemoteAuxPort = 4061<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">STARTING THE SERVICES<\/h2>\n\n\n\n<p>Run \u201cservices.msc\u201d and start the services:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>firebird3<br>firebird4<\/p><\/blockquote>\n\n\n\n<p>Lembre-se de que cada conex\u00e3o ao FirebirdSQL est\u00e1 em portas diferentes,  e sob esta condi\u00e7\u00e3o voc\u00ea n\u00e3o poder\u00e1 usar conex\u00e3o local, ou varia\u00e7\u00f5es dela como &#8220;xnet&#8221; porque n\u00e3o saber\u00e1 qual vers\u00e3o do FirebirdSQL instalada responder\u00e1, ent\u00e3o precisar\u00e1 sempre usar uma conex\u00e3o remota em sua string de conex\u00e3o para dizer explicitamente qual das vers\u00f5es pretende que seja usada, ex:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">localhost\/3060:c:\\caminho\\ou\\alias\\para\\banco.fdb\nlocalhost\/4060:c:\\caminho\\ou\\alias\\para\\banco.fdb<\/pre><\/div>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">User=SYSDBA;Password=masterkey;Database=c:\\caminho\\ou\\alias\\para\\banco.fdb;DataSource=localhost;Port=3060;Dialect=3;Charset=ISO8859_1;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;\nUser=SYSDBA;Password=masterkey;Database=c:\\caminho\\ou\\alias\\para\\banco.fdb;DataSource=localhost;Port=4060;Dialect=3;Charset=ISO8859_1;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;<\/pre><\/div>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">inet:\/\/localhost:3060\/c:\\caminho\\ou\\alias\\para\\banco.fdb\ninet:\/\/localhost:4060\/c:\\caminho\\ou\\alias\\para\\banco.fdb<\/pre><\/div>\n\n\n\n<p>Os exemplos acima s\u00e3o usados de diferentes formas em diferentes linguagens e programas, adapte-a a sua situa\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FIREBIRD 4 COM COMPATIBILIDADE DE TIPOS DE VERS\u00d5ES ANTERIORES?<\/h2>\n\n\n\n<p>Algumas pessoas que estejam migrando de uma vers\u00e3o anterior para vers\u00e3o 4 do Firebird podem ter problemas com tipos novos, em especial, time e timestamp, pois estes novos tipos agora carregam a informa\u00e7\u00e3o GMT e isso pode fazer a aplica\u00e7\u00e3o quebrar. Para solucionar este problema, v\u00e1 ao arquivo firebird.conf que est\u00e1 no diret\u00f3rio do Firebird4 e acrescente a seguinte linha:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;properties&quot;,&quot;mime&quot;:&quot;text\/x-properties&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Properties files&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;properties&quot;}\">DataTypeCompatibility = 3.0<\/pre><\/div>\n\n\n\n<p>Voc\u00ea pode trocar 3.0 por 2.5 tamb\u00e9m.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">BACKUP DE CONTAS<\/h2>\n\n\n\n<p>Nos casos em que estamos migrando uma base de dados para outra vers\u00e3o, geralmente nos preocupamos em copiar as contas de usu\u00e1rios e suas senhas. Se este for o seu caso, isso \u00e9 f\u00e1cil, no exemplo abaixo vamos simular que estamos migrando estas contas do FB3 para o FB4:<\/p>\n\n\n\n<p>No ambiente de produ\u00e7\u00e3o, realize o backup de &#8220;security3.fdb&#8221; gerando um arquivo &#8220;c:\\temp\\security3.fbk&#8221;:<\/p>\n\n\n\n<p>cd \u201cC:\\Program Files\\Firebird\\Firebird_3_0\u201d<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">cd &quot;C:\\Program Files\\Firebird\\Firebird_3_0&quot;\ngbak -v -b -t -user sysdba -password SENHAFB3 &quot;security3.fdb&quot; c:\\temp\\security3.fbk<\/pre><\/div>\n\n\n\n<p>Agora temos o arquivo &#8220;c:\\temp\\security3.fbk&#8221; que \u00e9 o backup das contas contidas no FB3, vamos restaur\u00e1-lo no FB4:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">cd &quot;C:\\Program Files\\Firebird\\Firebird_4_0&quot;\nren security4.fdb security4.fdb.ori\ngbak -v -r -user sysdba c:\\temp\\security3.fbk security4.fdb<\/pre><\/div>\n\n\n\n<p><strong>Dica<\/strong>: N\u00e3o \u00e9 preciso o par\u00e2metro \u201c-password\u201d nos casos de restaura\u00e7\u00e3o.<\/p>\n\n\n\n<p>Se a restaura\u00e7\u00e3o tiver tido \u00eaxito, a partir de agora, a senha do  SYSDBA no FB4 \u00e9 aquela que estava no FB3. Eu recomendo que n\u00e3o mantenha a mesma senha em ambos os servi\u00e7os, fa\u00e7a a troca para impedir voc\u00ea mesmo ou outra pessoa que tenha acesso a base de produ\u00e7\u00e3o achar que  est\u00e1 acessando um servidor quando na realidade est\u00e1 acessando outro. N\u00e3o mude apenas a senha do SYSDBA, mas de todos aqueles que fazem o acesso interativo ou administram a base de dados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FIREWALL<\/h2>\n\n\n\n<p>Contando todos os Firebirds que instalamos, creio que usaremos as portas <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-accent-color\">3<\/mark><\/strong>060 e <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-accent-color\">3<\/mark><\/strong>061 (para o FB3) e <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-accent-color\">4<\/mark><\/strong>060 e <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-accent-color\">4<\/mark><\/strong>061 (para o FB4) ent\u00e3o configure seu firewall para que o mesmo n\u00e3o obstrua a comunica\u00e7\u00e3o entre estes servi\u00e7os e voc\u00ea ou outras esta\u00e7\u00f5es de trabalho. Se usa o Firewall do Windows, geralmente a comunica\u00e7\u00e3o com localhost j\u00e1 \u00e9 liberado, ent\u00e3o n\u00e3o precisaria de nenhum ajuste para seu host acessar tais servi\u00e7os.<\/p>\n\n\n\n<p><strong>Dica<\/strong>: As numera\u00e7\u00f5es das portas foi intencional, veja novamente os note que apenas olhando para eles saberemos qual vers\u00e3o de Firebird estaremos acessando. Recomendo que siga a mesma orienta\u00e7\u00e3o para outras vers\u00f5es de Firebird para outras portas que tamb\u00e9m seja semelhante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">EVITAR A PORTA 3050?<\/h2>\n\n\n\n<p>A porta 3050 \u00e9 a padr\u00e3o do Firebird, isto \u00e9, se voc\u00ea n\u00e3o indicar a porta numa string de conex\u00e3o, o driver ou framework de acesso de seu programa assumir\u00e1 o padr\u00e3o que \u00e9 3050. <\/p>\n\n\n\n<p>Da\u00ed voc\u00ea deve pensar se isso \u00e9 uma boa ideia, pois se eu estivesse migrando de uma vers\u00e3o para outra, provavelmente deixaria a porta 3050 para a vers\u00e3o mais recente que quero migrar e ent\u00e3o faz sentido usar a porta 3050, mas se eu estivesse tendo que dar manuten\u00e7\u00e3o em multiplas vers\u00f5es do Firebird na minha m\u00e1quina de desenvolvimento eu evitaria usar a porta 3050 para impedir acessos acidentais a base por programas que esqueceram de espeficar a porta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CONCLUSION<\/h2>\n\n\n\n<p>Por favor, n\u00e3o use este artigo como m\u00e9todo para colocar dois servi\u00e7os Firebird em produ\u00e7\u00e3o e economizar dinheiro com compra de m\u00e1quinas, isso n\u00e3o \u00e9 recomend\u00e1vel.  Assim como n\u00e3o juntamos um cavalo e um boi para levar uma carro\u00e7a, tamb\u00e9m n\u00e3o juntamos servi\u00e7os que competem por CPU e DISCO no mesmo host. Essa \u00e9 uma regra que n\u00e3o deveria ser discutida em empresas que valorizam qualidade dos servi\u00e7os.<\/p>\n\n\n\n<p>Claro que toda regra tem sua exce\u00e7\u00e3o, voc\u00ea pode juntar dois servi\u00e7os no ambiente de produ\u00e7\u00e3o no mesmo host quando sua inte\u00e7\u00e3o \u00e9 atualizar ou migrar de uma vers\u00e3o para outra e quer fazer isso de maneira cautelosa, afinal, se a migra\u00e7\u00e3o n\u00e3o der certo ent\u00e3o ficar\u00e1 mais f\u00e1cil retornar a vers\u00e3o anterior. Salvo essa exce\u00e7\u00e3o, este artigo \u00e9 para desenvolvedores que d\u00e3o manuten\u00e7\u00e3o nas duas (ou mais) vers\u00f5es de FirebirdSQL.<\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>A inten\u00e7\u00e3o deste artigo \u00e9 permitir que um mesmo host tenha duas ou mais vers\u00f5es do Firebird. Voc\u00ea vai precisar disso em duas situa\u00e7\u00f5es ao menos: (1) \u00c9 um desenvolvedor e d\u00e1 suporte a mais de uma vers\u00e3o do Firebird e (2) Est\u00e1 migrando de vers\u00e3o de banco de dados para outra mais recente. REQUERIMENTOS [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":1109,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"footnotes":""},"class_list":["post-1126","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/comments?post=1126"}],"version-history":[{"count":23,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1126\/revisions"}],"predecessor-version":[{"id":2101,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1126\/revisions\/2101"}],"up":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1109"}],"wp:attachment":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/media?parent=1126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}