viernes, 28 de agosto de 2020

Problemas con python "/usr/bin/env < < python>>: No such file or directory "

Es posible que hayas llegado aquí por un mensaje similar al siguiente:

 /usr/bin/env: <<python>>: No such file or directory

 

Cuando trabajamos con versiones nuevas de ubuntu, nos encontramos que a veces necesitamos utilizar algunas apps o código basado en python y que usan los scripts hechos y no queremos migrarlos. Para poder utilizarlo, lo primero es que hay que instalar python 2 para ello:

#↨ sudo apt-get install python2.7

#↨ sudo apt-get install python2 

 

 Y luego agregar un enlace simbólico:

#↨sudo ln -s /usr/bin/python2 /usr/bin/python

Con esto bastaría y sería suficiente.


NOTA: También se puede poner con otras versiones de python...

 

 

domingo, 23 de agosto de 2020

Migrar MDB de Microsoft Access a SQL MySql

Si buscas como migrar una base de datos MDB de Microsoft Access a SQL de MySql, verás que existen varios métodos para realizarlo. Tras probar diferentes, el que mejor se ha adaptado a mis necesidades ha sido el que comento aquí. Eso sí, se han perdido algunas relaciones y también los comentarios en el diseño de la estructura que había en Microsoft Access.

Lo primero que hay que hacer, es tener una máquina Linux con las mdbtools, para ello:

  •  Actualiza los repositorios para obtener la lista de los últimos paquetes y sus actualizaciones: 
tu-maquina:~: sudo apt-get update -y
  •  Ejecuta la instalación del paquete mbdtools (la opción -y es para que no te pregunte más y lo haga directamente junto con todas las dependencias):
tu-maquina:~: sudo apt-get install -y mdbtools

A continuacíon para exportar el esquema o arquitectura de la base de datos a un archivo SQL, se realizaría los siguiente:

tu-maquina:~: mdb-schema <tu-base-de-datos>.mdb mysql > squema.sql

Por último, para exportar los datos a un archivo SQL junto con el esquema o arquitectura es algo más elaborado y lo realizaremos mediante el siguiente script (en mi caso lo he llamado "mdb_to_mysql.sh":

#!/bin/bash
TABLES=$(mdb-tables -1 $1)

for t in $TABLES
do
    echo "DROP TABLE IF EXISTS $t;"
done

mdb-schema $1 mysql

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done

Finalmente, bastaría ejecutarlo para obtener el SQL con todos los INSERT y CREATE TABLE necesarios:

tu-maquina:~: sudo sh mdb_to_mysql.sh <tu-base-de-datos>.mdb > datos.sql

Problemas con python "/usr/bin/env &lt; &lt; python&gt;&gt;: No such file or directory "

Es posible que hayas llegado aquí por un mensaje similar al siguiente:  /usr/bin/env: <<python>>: No such file or directory   Cu...