Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Módulos » Transformación de Access a txt  RESUELTO Responder al tema
Nuevo tema


Página 1 de 1  [ 5 mensajes ] 
 
Nota 2012-01-03 20:38 @901

Perlero Nuevo
Registrado: 2011-12-14 17:17 @762
Mensajes: 15
Transformación de Access a txt
¿Existe algún módulo Perl que pueda leer Access (mdb) y transformar cada base a un archivo txt?

Se agradece.


Nota 2012-01-04 11:27 @519
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: Transformación de Access a txt  RESUELTO
No lo hay porque el formato de fichero es propiedad de Micro$oft, aparte de que lo han ido cambiando con los años.

Una forma de acceder a su contenido, es por medio de un interfaz ODBC, por ejemplo, DBD::ODBC. Solo tienes que definir, en el Panel de Control de Windows, una fuente ODBC a partir de ese fichero (se supone que las bibliotecas DLL para leer .mdb están instaladas). Luego, solo queda hacer el programa correspondiente, con este módulo. Mejor dicho: el que realmente usaremos será DBI, pero al indicar en el programa un DSN a una fuente ODBC, DBI cargará DBD::ODBC. Esto, para Windows. Si estás en UNIX/Linux, usarás controladores externos, como unixODBC o iODBC.

Cualquiera de estas soluciones NO abre el fichero mdb de forma directa, sino lo que hace es dialogar con ODBC que a su vez dialogará con el motor Access, y éste sí que accederá al fichero.

En el documento DBD::ODBC::FAQ tienes muchas cuestiones resueltas. Por ejemplo, How do I access a MS-Access database from Linux?.

_________________
JF^D Perl programming


Nota 2012-01-04 14:39 @652

Perlero Nuevo
Registrado: 2011-12-14 17:17 @762
Mensajes: 15
Re: Transformación de Access a txt
Muchas gracias. Necesitaba confirmar el modo de lectura.


Nota 2012-01-18 16:36 @733

Perlero Nuevo
Registrado: 2011-12-14 17:17 @762
Mensajes: 15
Re: Transformación de Access a txt
Estimados, para leer Access con Perl, es necesario instalar un controlador ODBC-Access Driver V1.0. Se requiere licencia, pero para probar, dan una versión de prueba (lo pueden bajar desde easysoft.com). Una vez realizada la instalación del controlador, la aplicación queda:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. my $CONNECT = "DRIVER={Easysoft ODBC-ACCESS};mdbfile=".$nom_file_mdb.";readonly=yes;exclusive=no;ignore_rel=no";
  2. $dbh = DBI->connect("dbi:ODBC:$CONNECT", "", "") or print "ERROR -- $DBI::errstr";
  3. $sql= "select columna from tabla where condiciones";
  4. $sth = $dbh->prepare($sql) or die print "ERROR -- consulta SQL ODBC-ACCESS";
  5. $sth->execute || print "ERROR -- execute SQL ODBC-ACCESS");


Nota 2012-01-19 11:07 @504
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: Transformación de Access a txt
Bueno, sí, también es esa una de las maneras posibles, comprando una licencia de un controlador propietario.

_________________
JF^D Perl programming


Responder al tema  [ 5 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO