Transformar .mdb Em .txt
#1
Posted 29/08/2006, 14:37
___________________________________
Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________
#2
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
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#3
Posted 29/08/2006, 17:34
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
Posted 29/08/2006, 18:54
Vamos lah então....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...
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 primeira parte ele faz a conexão com o odbc:
ele usa a senha e usuario do meu bd??
custumers eh o nome da tabela! ali eh um exemplo de consulta...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?
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...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??
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#5
Posted 30/08/2006, 10:32
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
Posted 30/08/2006, 14:59
Com terteza naum ia funfar!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??
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!
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#7
Posted 30/08/2006, 15:03
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
Posted 30/08/2006, 15:25
deu certo então? tomara! hehehe
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#9
Posted 30/08/2006, 16:49
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
Posted 31/08/2006, 10:12
$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!
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#11
Posted 31/08/2006, 15:27
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
Posted 31/08/2006, 16:18
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!
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#13
Posted 31/08/2006, 17:10
___________________________________
Josy R.L.
Grupo Plyme
www.plyme.com.br
___________________________________
#14
Posted 15/09/2017, 20:20
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
Posted 03/10/2017, 08:07
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
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)