[Perl] Algo de mayor interes...
Tei
421621@ingta.unizar.es
Fri, 25 Jan 2002 13:02:16
Hola,
=20
... listas de datos en perl.
Sin duda habra un par de soluciones elegantes, y otras sencillotas.
Te cuenta lo que yo conozco, que como no soy experto en BD tienden a ser
soluciones poco elegantes y sencillotas.
1) exportar la base de datos a SQL, lo he visto hacer asi que es posible,
y luego meter esto en una base de datos SQL y usar mysql desde perl.
2) exportar la base de datos a un formato de texto plano que perl sepa
parsear facilmente, en este sentido access es muy bueno, porque te deja
configurar cada aspecto y encima guardar eso como un perfil (para que
alguien que no entienda lo haga sin tener que seguir todos los pasos, el
caso de una actualizacion)
Obtendrias un fichero con lineas asi:
#230#Alfombra Roja Persa#Persis LTD#Al contado#Sr Rodrigez Alfonso de
Ayala#recusado
Que obviamente seria facil de leer. Haciendo pruebas con algo asi (todo el
catalogo de una tienda de musica que vendia desde libros hasta pianos de
cola de 14 millones ) se genero un fichero de 40K, que creo perl es capaz
de leer y tratar en nada de tiempo (asi que NO es tan mala solucion
hablando en terminos de eficacia)
3) exportar las tablas o la base de datos a un formato intermedio de los
que perl sepa importar, incluso utilizar algun programa (mirar en google)
que automatice el paso de access a mysql (esto existe, pero hay que
encontrarlo ;) (este punto se parece al 1 mucho verdad?)
1 saludo y suerte
Tei
At 02:52 25/01/02 -0600, you wrote:
>On Fri, 2002-01-25 at 01:03, Alejandro G. Bedoya wrote:
>> Saludos!!!
>>=20
>> Tengo el siguiente problemita, tenemos una base de datos en Access=
97,
>> que deber=E1 ser trasportada primero a un servidor Linux, ese archivo de
>> Access lo debo de abrir en PERL solo para importar la informaci=F3n y
>> convertirla a otra base de datos para luego imprimir reportes por web. El
>> archivo yo lo tengo que recibir solo formato de access, alguien lo va a
>> FTPear de una maquina Windows al Linux.
>
>Porqu=E9 no =E9se alguien hace un dump desde Windows y lo manda al Linux?
>
>>=20
>> Ciertamente se pueden abrir bases de datos de Access en PERL, ya
hice la
>> prueba con mi maquina Windows donde hago todas mis pruebas...
>>=20
>> =3D=3D=3D=3D=3D=3D=3D
>> #!perl
>> use strict;
>> use DBI;
>>=20
>> my $dbh =3D DBI->connect('DBI:ADO:prueba', undef, undef, {PrintError =3D>=
1, +
>> RaiseError =3D> 1});
>> my $sth =3D $dbh->prepare('SELECT NOMBRE FROM Usuarios');
>> $sth->execute;
>> while (my @Record=3D$sth->fetchrow_array) {
>> print "$Record[0]\n";
>> }
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>=20
>> El problema es que el archivo se llama "prueba.mdb" y tuve que darlo de
alta
>> en el ODBC del control panel porque no lo puedo llamar directamente con=
ese
>> nombre(la verdad no se pa que sirve eso, pero asi funciono). Es decir,
>> funciona bien en mi m=E1quina Windows, porque tiene el ODBC del control
panel,
>> no se puede abrir el archivo directamente. Me imagino que cuando pase=
este
>> programa a Linux no va a servir, porque Linux no tiene precisamente el=
ODBC
>> en el Control Panel.....
>>=20
>> Como le hago???
>>=20
>> Vi por ahi que hay el WIN32:ODBC, este es mejor???
>>=20
>> El unico chiste es abrir un archivo Access que esta en la maquina Linux.
>
>Lamento decirte que tienes un problem=F3n, en Windows funciona por que
>usas el m=F3dulo DBD::ADO que via Win32::OLE se comunica con ADO
>(Microsoft Active Data Objects), que usando Jet (el driver de Access)
>interpreta tu archivos *.mdb
>
>En Linux no existen los =FAltimos tres componentes mencionados de forma
>que aunque ADO.pm es perl puro, simplemente no jalar=E1.
>
>De los componentes mencionados s=F3lo el =FAltimo conoce de las tripas de=
un
>archivo mdb, y ese no corre fuera de Windows.
>
>Hoy lo m=E1s cerca que puede estar un programa en Linux de leer un *,mdb
>es mediante mdbtools (http://mdbtools.sourceforge.net/).
>
>As=ED que si lo quieres leer con perl y en una m=E1quina Linux tienes
>b=E1sicamente dos opciones:=20
>
>- Teniendo un Windows virtual dentro.
>- Usando Data::MDBtools y cruzar los dedos para que mdbtools ya funcione
> suficientemente bien.
>
>Saludos.
>
>Salvador Ortiz.
>
>
>
>_______________________________________________
>Perl mailing list
>Perl@tlali.iztacala.unam.mx
>http://tlali.iztacala.unam.mx/mailman/listinfo/perl
>
>