Guest americo belmiro Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 Amigos preciso faser o firebird funcionar com o php, qudo tento conectar a seguinte menssagem aparece unavailable database, nota: o firebird eo php + apache estão funcionandoo que façoa o fire é o 1,5 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 ae galera do PHP, acho que é com vocês!Movendo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 gladiador Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 /* veja : O PHP não possui um comando específico para criação de bases de dados FireBird, mas é possível utilizarmos o cliente isql nativo para realizar esta função. Para isto, é preciso apenas criar um pequeno script, e executar o isq com este script como parâmetro. Usando o isql Para realizarmos nosso objetivo, vamos usar a opção de file input do comando isql para executar o script que contém os comandos SQL necessários para criação da base de dados. isql -i filename Nosso objetivo é criar um programa em PHP que aceite de um usuário um nome para a base de dados, e transforme esta informação em um pequeno script SQL que será passado como parâmetro para o comando isql. Aceitando o Nome do Banco de Dados O seguite script HTML aceita um nome para uma base de dados, e transfere esta informação para um script PHP que cria e executa o arquivo SQL: <html> <head> <title>FireBird CREATE DATABASE</title> </head> <BODY bgcolor="#ffffff" text="black" link="#0000a0" alink="#0000a0" vlink="#0000a0"> <font face="arial,verdana,helvetica" size=3> <b>FireBird CREATE DATABASE</b> <p> <table border=0 cellpadding=5 cellspacing=0 bgcolor="#6699cc"> <tr> <td> <font face="arial,verdana,helvetica" size=2> <FORM ACTION="ibcreate.php" METHOD="POST"> Database:<BR> <INPUT NAME="ibname" TYPE=text SIZE=50 MAXSIZE=80 VALUE=""> <P> <INPUT TYPE=submit VALUE="Send"> <INPUT VALUE="Clear" TYPE=reset> </FORM> </td> </tr> </table> </body> </html> Testando a Existência do Banco de Dados Antes de criarmos um novo banco de dados, é necessário checarmos se já existe alguma base com o mesmo nome. O método mais fácil para isso, é tentando realizar uma conexão com um banco de nome idêntico ao que queremos criar: $ibname .=".gdb"; (opcionalmente podemos adicionar a extensão ".gdb" ao nome da base de dados) $conn=ibase_connect("localhost:/home/firebird/$ibname", "SYSDBA", "masterkey"); if (!$conn) { $ibok=true; } else { $ibok=false; ibase_close($conn); } Caso a variável boolena $ibok retorne True, significa que a tentativa de conexão com o banco de dados falhou, provando assim que o mesmo não existe. Portanto, podemos usar o nome para criação de uma nova base de dados. Criando o script SQL $ibcreate="CREATE DATABASE "/home/firebird/$ibname" PASSWORD "masterkey";n"; $ibscript=fopen("/home/firebird/ibcreate.sql","w"); fwrite($ibscript,$ibcreate); fclose($ibscript); Obs:: É preciso ter permissão de escrita no diretório selecionado (/home/firebird/) para geração do arquivo. Caso o servidor Web seja o Apache, em ambiente Linux, normalmente os comandos: chown -R apache /home/firebird chgrp -R apache /home/firebird chmod -R 0775 /home/firebird Darão privilégios de escrita para o PHP executado via browser. Executando o Comando isql if (!exec("/opt/firebird/bin/isql -i /home/firebird/ibcreate.sql")) die ("Erro executando isql"); echo "O Banco de Dados: $ibname, foi criado com sucesso!"; Se o comando exec encontrar erros, o comando die ("Erro executando isql") será executado, e o script PHP será finalizado. É bom lembrar que nosso exemplo apenas cria o banco de dados. Muitos outros parâmetros podem ser utilizados (tais como: PAGE SIZE, DIALECT, USER, etc.) como argumentos na expressão CREATE DATABASE. O fonte ibcreate.php: <html> <head> <title>FireBird CREATE DATABASE</title> </head> <BODY bgcolor="#ffffff" text="black"> <font face="arial,verdana,helvetica" size=3> <? $ibname .=".gdb"; $conn=ibase_connect("localhost:/home/firebird/$ibname", "SYSDBA", "masterkey"); if (!$conn) { $ibok=true; } else { $ibok=false; ibase_close($conn); } if ($ibok) { $ibcreate="CREATE DATABASE "/home/firebird/$ibname" PASSWORD "masterkey";n"; $ibscript=fopen("/home/firebird/ibcreate.sql","w"); fwrite($ibscript,$ibcreate); fclose($ibscript); if (!exec("/opt/firebird/bin/isql -i /home/firebird/ibcreate.sql")) die ("Erro executando o comando isql"); echo "O Banco de D: $ibname, foi criado com sucesso!"; } else { echo "Impossível criar o Banco de Dados: $ibname. Banco de Dados já existe!"; } ?> </body> </html> Firebird */ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest americo belmiro
Amigos preciso faser o firebird funcionar com o php, qudo tento conectar
a seguinte menssagem aparece unavailable database,
nota:
o firebird eo php + apache estão funcionando
o que faço
a o fire é o 1,5
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.