Entradas

Mostrando las entradas etiquetadas como mysql

IronPython y Sybase DataWindow .NET, en SharpDevelop, y 3.

Imagen
Hola. Seguimos con la construcción de una aplicación de gestión con IronPython y Sybase DataWindow .NET en SharpDevelop . Este post es continuación del anterior en El Viaje del Navegante . CREANDO CONEXIONES ENTRE UN CONTROL DATAWINDOW Y LA BASE DE DATOS MEDIANTE UN OBJETO TRANSACTION Vamos a conectar el Control DataWindow a la base de datos de MySQL . Darse cuenta del juego que da esto, ya que podemos tener una serie de DataWindows conectados a origenes de datos diferentes, siempre y cuando el SGBD sea el mismo, esto es, podemos cambiar, en una base de datos, de producción a pruebas únicamente cambiando la cadena de conexión del objeto transacción, sin que afecte en absoluto al DataWindow . Arrastramos un objeto Transaction a la ventana. En las propiedades del objeto Transaction le indicamos las características de la conexión ( ¿Recuerda el lector como se obtenía la cadena de conexión en el Designer ? ). ¿Dónde decirle al DataWindow que coga la conexión del objeto Transaction ?...

IronPython y Sybase DataWindow .NET, en SharpDevelop, y 1.

Imagen
Hola. Os presento una serie de artículos en donde vamos a ver como trabajar con IronPython y el objeto estrella de Sybase , el DataWindow .NET , desde el entorno de desarrollo de SharpDevelop . Como he dicho en otros post, he trabajado años con PowerBuilder y los objetos Datawindow , siendo este último, y desde mi punto de vista, el objeto más potente para trabajar con bases de datos. Por otra parte, Python tiene una sintaxis mucho más fuerte y versátil que Powerscript (lenguaje en PowerBuilder). Por tanto, ¿cómo juntar lo mejor de ambos mundos, de una manera fácil y sencilla? A través de IronPython , utilizando SharpDevelop como herramienta de desarrollo. Estas tres herramientas trabajando juntas son una opción muy seria, a tener muy en cuenta , si se quiere realizar un proyecto de alto nivel empresarial, dada la estabilidad de IronPython y la eficacia del objeto DataWindow en el acceso a datos. Si todo ello se trabaja en un entorno de fácil aprendizaje y cómodo para trabajar, ...

Traspasar datos entre bases de datos diferentes con Python

En este post vamos a ver cómo traspasar información de una base de datos a otra , aunque solo la estructura y el contenido de las tablas. Si bien existen en el mercado diferentes aplicaciones que realizan este trabajo, podemos de una manera rápida y sencilla crear un script en Python que realice esta tarea. Evidentemente, si tenemos conocimientos de ETL , con SQLServer y paquetes DTS ó Integration Services , dependiendo de la versión, se pueden hacer este tipo de operaciones. Pero, ¿y si no tenemos este tipo de herramientas? ¿Y si estamos en plataformas no Windows? Aquí vamos a utilizar Python como " pegamento ", esto es, una navaja suiza , para poder traspasar datos. ¿Ventajas? En unas pocas líneas de texto vamos a crear una solución potente y sencilla de traspaso de información. Como fuente de origen vamos a utilizar una base de datos Firebird , que es un sistema gestor de bases de datos gratuita. Nunca he trabajado con este sistema, y solo lo conocía de oídas, al habla...

MySQL y Python - Relación de pura potencia y 3

Imagen
Inserción, actualización y borrado de filas: INSERT, UPDATE y DELETE. Efectivamente podemos utilizar las instrucciones insert, update y delete vía módulo MySQLdb. En este apartado podemos ver 3 casos a la hora de la construcción de la sentencia: 1) Sentencia SQL sin parámetros (SQL estático). La sentencia se puede crear como una cadena de caracteres, sin incluir ningún tipo de valor o variable ó construcción adicional. Por ejemplo: # -*- coding: cp1252 -*- # Importamos módulo import MySQLdb # Intentamos conectar con la base de datos. try: conexion = MySQLdb.connect(host = "localhost", \ user = "root", passwd = "1234",db = "pruebas_python") print "Conexión realizada" except: print "Error en conexión" # Creamos cursor a partir de la conexión realizada. cursor = conexion.cursor() # Creamos sentencia SQL. cadenaSQL = 'update cliente set nombre = "G. Almaraz" where id = 12' # Ejecutamos sentencia S...

MySQL y Python - Relación de pura potencia y 2

Continuamos viendo formas de obtener datos... 2) Utilizando el método fetchone. Mediante este método del objeto cursor se pueden obtener y mostrar filas una a una, en vez de todas a la vez (lo que ocurría con fetchall). Veamos el siguiente ejemplo: # Importamos módulo import MySQLdb # Intentamos conectar con la base de datos. try: conexion = MySQLdb.connect(host = "localhost", \ user = "root", passwd = "1234",db = "pruebas_python") print "Conexión realizada" except: print "Error en conexión" # Creamos cursor a partir de la conexión realizada. cursor = conexion.cursor() # Ejecutamos sentencia SQL. cursor.execute(" SELECT * FROM cliente ") # Obtenemos el número de filas del resultado de hacer la consulta select. numero_filas = int(cursor.rowcount) # Obtenemos y mostramos una fila a la vez (en cada iteración). for fila in range(0,numero_filas): fila = cursor.fetchone() print str(fila[0]), " - " , str...

MySQL y Python - Relación de pura potencia I

Imagen
No creo que en este momento en el que nos encontramos haya alguien que no haya oido hablar del sistema gestor de bases de datos MySQL. Prácticamente todo el mundo conoce este sistema y lo relaciona junto con los paquetes de software Apache (servidor) y PHP (lenguaje de script para creación de páginas web). Y en cierto sentido es así, ya que este SGBD se ha hecho muy popular por su gran rendimiento y por su escaso coste. No hace mucho MySQL fue adquirido por Sun, y ahora no se bien como está el tema de licencias. Como cabe esperar, para empresas que quieran soporte y cosas de esas habrá un MySQL de pago. De todas formas MySQL sigue siendo software libre, y vamos a hablar en este post sobre él y la magnífica relación que mantiene con Python, mediante el módulo MySQLdb (creado por Andy Dustman). Antes de empezar supongo que todos sabemos lo que es una base de datos, lo que es un cursor, tablas, campos, selects, inserts, .... y un largo etcétera. Yo no soy ningún experto en bases de datos,...