Usando tabelas dBase com PHP

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Usando tabelas dBase com PHP

Mensagem por Vlademiro »

Amigo,

Nesse caso temos que ver todas as causas possíveis, todas mesmo. Por exemplo, no seu script de teste tem :

Código: Selecionar todos

DBQ=".dirname($_SERVER['SCRIPT_FILENAME'])."/teste/;";
Veja se :

(1) Se os arquivos DBFs estão na pasta teste

(2) Retire o ponto e vírgula após a barra de teste/ , esse ponto e vírgula era para estar fora somente.


Poste os resultados ! :xau
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Usando tabelas dBase com PHP

Mensagem por cjp »

Também havia estranhado a / antes das aspas, mas está assim no modelo que peguei aqui. De qualquer forma, testei tirando a /, mas também não funcionou.

E sim, o arquivo LEITURA.DBF existe na pasta TESTE. Veja:

Imagem

O problema, creio eu, deve ter sido a alteração do caminho do site, como ocorreu da vez anterior. Só que não sei como descobrir o caminho correto.
Inacio de Carvalho Neto
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Usando tabelas dBase com PHP

Mensagem por cjp »

Amigos, o provedor me passou a seguinte informação, que creio que seja relevante:
Caro Inácio,

Como informado na mensagem anterior, o método utilizado por você necessita que o driver seja especificado exatamente como encontra-se no sistema.

Sua aplicação encontra-se na plataforma 64bits, e sob esta prerrogativa, o driver a ser utilizado deve ser o seguinte:

Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)

Assim, pela lógica, sua string ficaria desta maneira:

$dsn = "DRIVER={Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME'])."/ineput/wwwroot/inaciobr/teste/arquivo.mdb";

Pedimos que realize testes utilizando este driver, e caso possua outros problemas, por gentileza nos contate.

Permanecemos à disposição para os esclarecimentos necessários.

Atenciosamente,
Não entendi bem o que seria o arquivo.mdb. Questionei a eles, mas eles não me explicaram convenientemente.

Testei da forma como eles passaram, mas também não funcionou. Só que agora o erro é um pouco diferente:
conexao falhou: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Alguém poderia me ajudar?
Inacio de Carvalho Neto
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Usando tabelas dBase com PHP

Mensagem por Vlademiro »

Amigo,

Caso ainda esteja com o problema seguem mais algumas ideias :

1 ) A extensão mdb refere-se a um arquivo do MSaccess. Provavelmente quem digitou a resposta se enganou. O correto é dbf.

2 ) Essa mensagem de driver não encontrado eu não posso dizer com certeza. Me parece que eles não efetuaram a instalação do driver para dbase. Eles tem que verificar se realmente a instalação do driver para dbase foi feito.

3 ) O driver pode estar instalado, mas a string de conexão não é essa. Dê uma olhada no site a seguir que tem exemplos de string para dbf

https://www.connectionstrings.com/micro ... bc-driver/

https://www.connectionstrings.com/micro ... /standard/

A mensagem de erro que vc informou foi abordada no tópico abaixo, o exemplo é em C# mas a string de conexão é universal.

http://stackoverflow.com/questions/7227 ... f-database



Já não mecho com ODBC há muitos anos... :%

Se vc conseguiu posta a resposta para que fique arquivado na lista.

Boa sorte :xau
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Usando tabelas dBase com PHP

Mensagem por cjp »

Não consegui resolver não, meu caro. E não entendi bem os exemplos que vc citou.

Estou achando que será mais fácil mudar essa base de dados para uma tabela no MySQL. Isso eu já sei fazer, e sei que funciona.
Inacio de Carvalho Neto
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Usando tabelas dBase com PHP

Mensagem por Vlademiro »

Se não for lhe prejudicar em outro ponto, o mysql é melhor para se trabalhar com php do que o dbf.

E a melhora é sensível porque você não tem o controle do servidor e fica dependendo de terceiros (no caso o provedor).

O exemplos que eu citei estavam relacionados a string de conexão usada pelo ODBC.

O dbf, por ser um arquivo, depende de configurações de ODBC e também de permissões de escrita/leitura que o provedor tem que realizar.
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Usando tabelas dBase com PHP

Mensagem por cjp »

Bom, eu vou ter que mudar não apenas o PHP, mas também o programa que eu tenho em Harbour, que usa o mesmo arquivo. Vai dar um trabalhinho, mas pelo menos eu sei que dá pra fazer e vai funcionar.
Inacio de Carvalho Neto
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usando tabelas dBase com PHP

Mensagem por microvolution »

Boa noite cjp e demais professores!

Hoje que descobri esse tópico. Que fim deu?

conseguiu fazer funcionar o seu sistema em DBF e usar um navegador pra abrir as tabelas sem atrapalhar ou bagunçar os arquivos?

como a gente não tem nada de android pro harbour e vice-versa, pensei em fazer/aprender um basicão de html ou php pra fazer apenas uma tela de vendas pra q no cliente final, os vendedores no lugar de usar o computador, usem o celular, navegando como se fosse um app/android pra que o(a) vendedor(a) possa realizar e venda de seu próprio celular, e imprima na impressora que quiser (lpt1, usb, etc)...

não sei como fazer, mas, preciso fazer, pois trocar tudo, ainda não é uma possibilidade, em face do custo-benefício.

Uma empresa de desenvolvimento de softwares que possuem "n" clientes, sim, vale o investimento, mas, no nosso caso em particular, não é uma alternativa.

Feliz Jesus a todos, e, que venha 2021, bem melhor pra todos nós!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Usando tabelas dBase com PHP

Mensagem por cjp »

Eu desisti disso, estou usando MySQL. E sem dúvida é muito melhor.
Inacio de Carvalho Neto
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Usando tabelas dBase com PHP

Mensagem por rochinha »

Amiguinhos,

Atualizando link para baixar o ambiente Apache com mod Harbour: https://www.4shared.com/rar/kF-y_aWTiq/Apache24.html

O mod dBase caiu em desuso e hospedagens online não ativam este recurso. Na época do lançamento do tópico era legal mexer, mas já estava restrito a alguns defeitos.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
syslink
Usuário Nível 3
Usuário Nível 3
Mensagens: 132
Registrado em: 20 Fev 2018 13:13
Localização: joinvile/sc

Usando tabelas dBase com PHP

Mensagem por syslink »

rochinha escreveu:O mod dBase caiu em desuso e hospedagens online não ativam este recurso. Na época do lançamento do tópico era legal mexer, mas já estava restrito a alguns defeitos.
uma pena
Responder