Pesquisar neste blog

Mostrando postagens com marcador firebird. Mostrar todas as postagens
Mostrando postagens com marcador firebird. Mostrar todas as postagens

quinta-feira, 27 de setembro de 2012

Ativando Firebird 1.5 no PHP



-->



Após muitas buscas na net e após tentar várias soluções, consegui descobrir o problema com o Firebird 1.5 no php.
Em todos os post havia apenas a orientação para ativar a extensão no php.ini para o firebird, o que fiz mas não obtive êxito:
As extensões que ativei foram:
extension=php_interbase.dll
extension=php_pdo_firebird.dll
Para ativar, basta tirar o ponto e vigula da frente.
Também mudei o seguinte parametro:
magic_quotes_sybase = On
Após feito tudo isso o firebird continuava a não funcionar no PHP e emitia os seguintes erros:
Warning: ibase_connect() [function.ibase-connect]: unavailable database in ...
Warning: ibase_connect() [function.ibase-connect]: Unable to complete network request to host "localhost". Failed to locate host machine. The specified name was not found in the hosts file or Domain Name Services. in...

-->




Foi então que percebi a existência de uma biblioteca gds32.dll dentro a pasta do raiz do php.
Foi só substitui-la pela DLL gds32.dll do firebird e tudo funcionou perfeitamente.
O código PHP que usei para testar foi o seguinte:
<?php
$dbh = ibase_connect('localhost/3050:C:/teste/imagens.gdb','SYSDBA','masterkey',WIN1252,0,3);
$stmt = 'SELECT * FROM TB_CONV';
$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());
while ($resultado = ibase_fetch_row($sth)) {
echo "<tr>";
echo " <td>" . $resultado[0] . "</td>";
echo " <td>" . $resultado[1] . "</td>";
echo "</tr>";
}
?>
 
Cordialmente;
Claudir Pereira dos Santos
Matelândia/ 28/04/2010.

-->



segunda-feira, 31 de outubro de 2011

Criando arquivo em lote para realizar copia do firebird no Windows Server 2008

Essa dica é para quem usa a base de dados firebird 1.5 no Windows Server 2008. O comando em lote abaixa cria uma copia de segurança, sendo que para arquivo é usado no no o seguinte padrão:




NomeDaBase_AnoMesDia_HoraMinutoSegundo

Dessa forma, os arquivos de cópia não são sobrescrevidos e o administrador de rede pode definir por quanto tempo manter as cópias. O comando em lote para isso tem a seguinte estrutura:




@echo off 
set Base=SghDados
set ano=%date:~6,4%
set mes=%date:~3,2%
set dia=%date:~0,2%
set /A hora=%time:~0,2%
IF %hora% LSS 10 SET hora=0%hora%
set min=%time:~3,2%
set seg=%time:~6,2%
set copia=%Base%_%ano%%mes%%dia%_%hora%%min%%seg%.fbkC:\progra~2\firebird\firebi~1\bin\gbak.exe -user SYSDBA -pas masterkey -l -t localhost:c:\caminho\banco.gdb H:\copias\%copia%

Criado o arquivo em lote, basta adicionar uma tarefa ao Agendador de tarefas do Windows e definir de quanto em quanto tempo deverá ser executada a cópia. A vantagem desse procedimento é que a cópia é feita como serviço, sem necessidade de um usuário logado, o que não é habitual em um servidor dedicado.


Seria isso.


Cordialmente;


Claudir Pereira dos Santos

Matelândia, 31/10/2011.