Jump to content


Photo

Transformar .mdb Em .txt


  • Faça o login para participar
18 replies to this topic

#1 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 29/08/2006, 14:37

Pesquisei e nao encontrei como transformar um arquivo .mdb em um arquivo .txt... Se alguem souber ma da uma mao nisso... Seguinte, na minha pagina tem um formulário pra upload onde o usuario importa o arquivo .mdb pro servidor, queria dentro do meu script abrir esse arq .mdb e passar as tabelas para txt e depois colocar dentro do bd.. essa parte d importar o txt para o mysql ja tah ok, so nao sei como abrir o mdb e passar as tabelas para txt... Agradeço ja quem me der uma ajuda nisso

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#2 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 29/08/2006, 16:55

Pesquisei e nao encontrei como transformar um arquivo .mdb em um arquivo .txt... Se alguem souber ma da uma mao nisso... Seguinte, na minha pagina tem um formulário pra upload onde o usuario importa o arquivo .mdb pro servidor, queria dentro do meu script abrir esse arq .mdb e passar as tabelas para txt e depois colocar dentro do bd.. essa parte d importar o txt para o mysql ja tah ok, so nao sei como abrir o mdb e passar as tabelas para txt... Agradeço ja quem me der uma ajuda nisso



acredito que pelo servidor voce não vai conseguir... talvez com uma chamada ASP, mas dai naum eh minha área! heheh

mas as soluções podem ser:
- não pelo servidor, mas pelo access mesmo gerar o TXT, seleciona a tabela no access e clica em salvar como...
- por PHP, conectar diretamente na base do ACCES através de OBC, esse tutorial do phpfreaks explica como fazer isso

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#3 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 29/08/2006, 17:34

Certo entendi..

Mas gerar o txt atraves do access nao é o q quero fazer, entao acho melhor no meu script conectar diretamente na base do access através do odbc.. Olhei o tutorial q vc passou, mas nao ficou muito claro, se puder me ajudar...

Nessa primeira parte ele faz a conexão com o odbc:
ele usa a senha e usuario do meu bd??

$odbc = odbc_connect ('', '', '') or die('Could Not Connect to ODBC Database!');
if(!function_exists('odbc_fetch_array'))
{
function odbc_fetch_array($result, $rownumber=-1)
{
if (PHP_VERSION > '4.1')
{
if ($rownumber < 0)
{
odbc_fetch_into($result, $rs);
}
else
{
odbc_fetch_into($result, $rs, $rownumber);
}
}
else
{
odbc_fetch_into($result, $rownumber, $rs);
}
$rs_assoc = Array();
foreach ($rs as $key => $value)
{
$rs_assoc[odbc_field_name($result, $key+1)] = $value;
}
return $rs_assoc;
}
}

Nessa segunda parte ele passas os dados do mdb pra uma tabela ? o q seria Custumers?? Essa parte q nao ficou clara pra mim, o q ele faz aqui?
$query = odbc_exec($odbc, "SELECT * FROM Customers") or die (odbc_errormsg());
while($row = odbc_fetch_array($query))
{
echo 'Customer First Name: '.$row['customer_first_name'].'<br />';
echo 'Customer Last Name: '.$row['customer_last_name'].'<br />';
echo 'Customer Email: '.$row['email_address'].'<br />';
echo '<hr />';
}
odbc_close($odbc);

Pelo q entendi, qdo uso o drive odbc, ele faz a conexão e pega o arquivo .mdb, abre e transforma cada tabela em .txt mas nao é isso q estou vendo aqui, como seria??

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#4 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 29/08/2006, 18:54

Mas gerar o txt atraves do access nao é o q quero fazer, entao acho melhor no meu script conectar diretamente na base do access através do odbc.. Olhei o tutorial q vc passou, mas nao ficou muito claro, se puder me ajudar...

Vamos lah então....

Nessa primeira parte ele faz a conexão com o odbc:
ele usa a senha e usuario do meu bd??

Não, é a senha do acesso ODBC, deixe o banco sem senha... no botão ADVANCE tu pode colocar uma senha, o autor do artigo colocou o user = root e sem nenhuma senha...

Nessa segunda parte ele passas os dados do mdb pra uma tabela ? o q seria Custumers?? Essa parte q nao ficou clara pra mim, o q ele faz aqui?

custumers eh o nome da tabela! ali eh um exemplo de consulta...

Pelo q entendi, qdo uso o drive odbc, ele faz a conexão e pega o arquivo .mdb, abre e transforma cada tabela em .txt mas nao é isso q estou vendo aqui, como seria??

Pense que o ODBC eh um intermediario na entrega de mensagens, pois o PHP naum pode mandar direto dados para o ACCESS, entã oele usa o ODBC pra isso...

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#5 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 30/08/2006, 10:32

Não, nao deu certo..ele nao mostra os dados do access, o select tenta mostrar os dados direto do meu bd em mysql....

Na configuração do fonte de dados (ODBC) eu fui em fonte de dados de sistema, adicionei um novo la, e configurei da seguinte forma:

DNS: myodbc
server: localhost
user: root
senha:
database: ali aparece só os meus bancos no mysql, entoa se eu seleciono um, a busca do odbc select é feita no meu bd e nao no access, preciso q apareça ali o arquivo mdb, mas onde ele tem q ficar pra aparecer ali junto com os bd do mysql??

Fiz um teste salvando o arquivo .mdb dentro da pasta do mysql onde aquela parte o odbc busca os bd mas nao adiantou..

Ou alguma configuração especifica pra access no fonte d dados odbc? qdo vou criar uma nova eu seleciono mysql odbc driver, mas na mesma lista tem driver microsoft access, faço alguma coisa nisso?

Edição feita por: Josy, 30/08/2006, 14:24.


___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#6 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 30/08/2006, 14:59

Não, nao deu certo..ele nao mostra os dados do access, o select tenta mostrar os dados direto do meu bd em mysql....

Na configuração do fonte de dados (ODBC) eu fui em fonte de dados de sistema, adicionei um novo la, e configurei da seguinte forma:

DNS: myodbc
server: localhost
user: root
senha:
database: ali aparece só os meus bancos no mysql, entoa se eu seleciono um, a busca do odbc select é feita no meu bd e nao no access, preciso q apareça ali o arquivo mdb, mas onde ele tem q ficar pra aparecer ali junto com os bd do mysql??

Com terteza naum ia funfar! :wacko:

josy, voce usou o conector myodbc, certo? o myodbc eh pra cnectar bases mysql! para funcionar voce terá que adicionar o driver chamado "Microsoft Access Driver (*.mdb)" , deposi vai aparecer uma janela pra voce escolher o arquivo MDB

dai sim, voce vai conectar com a base access! ;)

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#7 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 30/08/2006, 15:03

Pois é, vi isso agora, numa conexao odbc vc tem que configurar no windows sua fonte odbc de sistema onde la vc vai selecionar o banco e da um nome para esta conexao,

no caso do windows xp

painel de controle->ferramentas administrativas->fontes de dados odbc.

na guia fonte de dados do usuario vc vai adcionar o driver do access, depois configurar.

de um nome para a fonte de dados ex: "bdaccess".

selecione o banco de dados no seu pc.

click em ok.

repita esta operaçao na guia fonte de dados do sistema.

agora vc pode fazer a conexaco com o banco de dados.

$con = odbc_connect("bdaccess","Usuario","senha")



executando

//MOSTRA DADOS TABELAS DO ARQUIVO MDB
$query = odbc_exec($odbc, "SELECT * FROM tblextrato") or die (odbc_errormsg());
echo "<table>";
echo "<TH>Data</TH><TH>Matricula</TH><TH>Nome</TH>";
echo "<TR>";
while($row = odbc_fetch_array($query))
{
echo "<TD>".$row['mes_ano']."</TD>";
echo "<TD>".$row['matricula']."</TD>";
echo "<TD>".$row['nome']."</TD>";
echo "<TR>";
}
echo "</table>";

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#8 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 30/08/2006, 15:25

exatamente!

deu certo então? tomara! hehehe

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#9 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 30/08/2006, 16:49

Tah me dando um erro na conexao com o odbc... ja fiz e refiz varias vezes td até reinstaltei o drive odbc, mas tah dando erro:

Warning: odbc_connect() [function.odbc-connect]: SQL error: , SQL state 00000 in SQLConnect in c:\arquivos de programas\apache group\Apache\htdocs\josy\script.php on line 52
Could Not Connect to ODBC Database!

linha 52:

//CONEXÃO COM CLASSE ODBC
$odbc = odbc_connect ('bdaccess', '', '') or die('Could Not Connect to ODBC Database!');

o q pode ser?

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#10 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 31/08/2006, 10:12

tenta adaptar este código para a tua conexão, alterando o DRIVER e o DegaultDir

$cfg_dsn =
"DRIVER=Microsoft Access Driver (*.mdb);"; // tipo de conexão aqui estamos usando o .mdb da microsoft
. "DBQ=C:/Access.mdb;"; // caminho completo do arquivo .mdb
. "UserCommitSync=Yes;";
. "Threads=3;";
. "SafeTransactions=0;";
. "PageTimeout=5;";
. "MaxScanRows=8;";
. "MaxBufferSize=2048;";
. "DriverId=281;";
. "DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources;"; // caminho da biblioteca ODBC

$cfg_dsn_login = "";
$cfg_dsn_senha= "";

odbc_connect($cfg_dsn,$cfg_dsn_login,$cfg_dsn_senha);

outra coisa que eu tava lendo na lista do php-brasil, q estas conexões ODBC normalmente dão uns problemas no apache, porque eu naum sei, mas parecem q se comunicam melhor com o ser IIS

boa sorte!

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#11 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 31/08/2006, 15:27

Bah olha só... hj demanha liguei o meu pc normal, e funcionou do jeito q tava, mas estranho, q nao escreve nada na tela, sabe, fica pagina em branco, mas extensa... como se estivesse td escrito em letra com a cor branca... vou postar aqui exatamente como os códigos estao escritos, alguma coisa eu errei, mas agora tah funcionando blz o esquema da conexão odbc


upload.php


<html>
<head>
<title>Upload csv-file</title>
</head>
<body bgcolor="#ffffff" text="#000000" id=all>
<form action="script.php" method="POST" enctype="multipart/form-data">
ESCOLHA O ARQUIVO PARA UPLOAD <input name="arquivo" type="file"><br><br>
<input type="submit" value="Enviar">
</form>

</body>
</html>


script.php

<?
//ELIMINA O LIMITE DE TEMPO DE EXECUÇÃO
set_time_limit (0);

//REPASSA ARQUIVO DO UPLOAD À VARIÁVEL
$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

//TAMANHO MÁXIMO DO ARQUIVO EM BYTES
$maximo = 50000000;

//CASO A VARIÁVEL $arquivo CONTENHA O VALOR FALSE
if(!$arquivo)
{
echo "Não acesse esse arquivo diretamente!";
echo "<br>";
}
else
{
//VERIFICA O TIPO DE ARQUIVO
if($_FILES['arquivo']['type'] !== "application/msaccess")
{
echo "O arquivo enviado por você não é um arquivo do access! Envie outro!";
echo "<br>";
}
else
{
echo "Extensão arquivo correta!!";
echo "<br>";

//VERIFICA LIMITE DE UPLOAD
if($_FILES['arquivo']['size'] > $maximo)
{
echo "Erro! O arquivo enviado por você ultrapassa o ";
echo "limite máximo de " . $maximo . " bytes! Envie outro arquivo";
echo "<br>";
}
else
{
echo "Arquivo tamanho ok!!";
echo "<br>";

//DIRETÓRIO PARA ONDE O ARQUIVO SERÁ MOVIDO
$diretorio="./upload/";

//MOVE PARA O DIRETÓRIO DESEJADO
if (move_uploaded_file($arquivo['tmp_name'], $diretorio . $arquivo['name']))
{
echo "Arquivo Enviado com sucesso!";
echo "<br>";

//CONEXÃO COM CLASSE ODBC
include("conectaodbc.php");

//MOSTRA DADOS TABELAS DO ARQUIVO MDB
$query = odbc_exec($odbc, 'SELECT * FROM tblextrato') or die (odbc_errormsg());
echo "<table>";
echo "<TH>Data</TH><TH>Matricula</TH><TH>Nome</TH>";
echo "<TR>";
while($row = odbc_fetch_array($query))
{

echo "<TD>".$row['mes_ano']."</TD>";
echo "<TD>".$row['matricula']."</TD>";
echo "<TD>".$row['nome']."</TD>";
echo "<TR>";
}
echo "</table>";

$query2 = odbc_exec($odbc, "SELECT * FROM tblextratoconvenios") or die (odbc_errormsg());
echo "<table>";
echo "<TH>Código</TH><TH>Convênio</TH>";
echo "<TR>";
while($row2 = odbc_fetch_array($query2))
{
echo "<TD>".$row2['codigo']."</TD>";
echo "<TD>".$row2['convenio']."</TD>";
echo "<TR>";
}
echo "</table>";

$query3 = odbc_exec($odbc, "SELECT * FROM tblextratoservidores") or die (odbc_errormsg());
echo "<table>";
echo "<TH>Matricula</TH><TH>Servidor</TH><TH>Senha</TH>";
echo "<TR>";
while($row3 = odbc_fetch_array($query3))
{
echo "<TD>".$row3['matricula']."</TD>";
echo "<TD>".$row3['nome']."</TD>";
echo "<TD>".$row3['senha']."</TD>";
echo "<TR>";
}
echo "</table>";

odbc_close($odbc);

}
else
{
echo "Erro ao enviar seu arquivo!";
$erro = $_FILES['upfile']['error'];
echo $erro;
echo "<br>";
}
}
}
}
?>


conectaodbc.php

<?
$odbc = odbc_connect('bdaccess', '', '') or die('Could Not Connect to ODBC Database!');

if(!function_exists('odbc_fetch_array'))
{
function odbc_fetch_array($result, $rownumber=-1)
{
if (PHP_VERSION > '4.1')
{
if ($rownumber < 0)
{
odbc_fetch_into($result, $rs);
}
else
{
odbc_fetch_into($result, $rs, $rownumber);
}
}
else
{
odbc_fetch_into($result, $rownumber, $rs);
}
$rs_assoc = Array();
foreach ($rs as $key => $value)
{
$rs_assoc[odbc_field_name($result, $key+1)] = $value;
}
return $rs_assoc;
}
}
?>

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#12 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 31/08/2006, 16:18

ele deve tah trancando em alguma condicional ai em cima e tah inprimendo soh os "<br>", e naum vo consegui testa aki pq uso unix e o meu vmware tah c/ uns paus ai q naum consigo acessa minha maquina virtual do windows :(

mas faz assim, vai debugando o código, colcoando uns echos pra ve onde ele executa o loop!

qqer coisa posta na seção de PHP, jah q a duvida de banco de dados jah foi sanada! :)

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#13 Josy

Josy

    :*

  • Usuários
  • 662 posts
  • Sexo:Feminino
  • Localidade:Porto Alegre/RS

Posted 31/08/2006, 17:10

Uhum... obrigada pela ajuda... MxDxPx

___________________________________

Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________


#14 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 13822 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 15/09/2017, 20:20

Zithromax Muscle Weakness cialis buy online Ampicillin Amoxicillin Dosage
Suche Viagra Kaufen Strattera Online Uk Scam
Get Tadalis Sx Soft Viagra <a href=http://cialtobuy.com>cialis</a> Acheter Cialis 10 Milligrams
Viagra No Script cialis online 4rx Priligy
Keflex Affects On Birth Control Pills Mail Order Generic Fluoxetine Secure Ordering Discount
Priligy Ereccion <a href=http://cialtobuy.com>cialis price</a> Viagra Online Express
Laboratoire Lilly Cialis cialis buy online Propecia Algarve
Cialis Conditionnement Prix How To Buy Ed Drugs From Canada Propecia Preparado En Farmacia
Levamisole <a href=http://cialtobuy.com>cialis price</a> Buy Priligy Canada
Prevacid Buy One Get One Free Coupon cialis Keflex Dosage For Adults
Propecia Disconts Online Propecia Precio Biologia Viagra 4 Sale
Airmail Pharmacy Uk <a href=http://cialtobuy.com>cialis</a> Cheap Dutasteride Best Website Medication Cod Accepted

#15 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 13822 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 03/10/2017, 08:07

Priligy Generika (Dapoxetine) 60mg cialis Cialis Dosificacion
Tadalafil Generico Pak Coupon viagra Discount Bentyl Vente Cialis Pharmacie Buy Kamagra Jelly
No Prescription Needed Metronidazole Mebendazole Discount Acticin Elimite On Line Medicine Shop viagra online pharmacy Levitra Generico Italia Where Can I Buy Nolvadex Pct




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq