En este tutorial veremos cómo conectar Python con Microsoft SQL Server en OS X. Lo primero es instalar el macports, que es para instalar otros softwares al estilo apt-get en Linux.
Bajamos el macports de su repositorio para la versión que tengamos de OSX. debemos instalar el driver freetds, es básicamente una librería que nos permitirá conectarnos a MS SQL Server. Ésta tiene dependencias univeral, odbc y mssql, se pueden instalar todas con port desde la línea de comando. Primero actualizamos a la última versión el macports e instalamos las dependencias:
Bajamos el macports de su repositorio para la versión que tengamos de OSX. debemos instalar el driver freetds, es básicamente una librería que nos permitirá conectarnos a MS SQL Server. Ésta tiene dependencias univeral, odbc y mssql, se pueden instalar todas con port desde la línea de comando. Primero actualizamos a la última versión el macports e instalamos las dependencias:
Código :
$ sudo port -v selfupdate $ sudo port install +mssql +odbc +universal
Instalamos freetds y lo mas importante la configuración de los archivos freetds.conf, odbcinst.ini y odbc.ini.
Código :
$ sudo port freetds
Los archivos de configuración los tenemos que editar con permisos de súper usuario. El/opt/local/etc/freetds/freetds.conf es donde agregamos el host del servidor MS SQL Server, basta con agregar al final del archivo lo siguiente:
Código :
[MI_SERVIDOR] host = MI_SERVIDOR_SQL port = 1433 tds version = 7.0
El /opt/local/etc/odbcinst.ini/odbcinst.ini es donde le indicaremos el driver que utilizará la librería freetds. Este archivo normalmente esta vacío.
Código :
[FreeTDS] Decscription = driver freetds para sql server Driver = /opt/local/lib/libtdsodbc.so Setup = /opt/local/lib/libtdsodbc.so FileUsage = 1
Por último, el /opt/local/etc/odbc.ini que no es más que la definición de nuestro DNS. Este archivo también estará vacío.
Código :
[MI_DNS] Description= Base de datos MI_DB Driver = FreeTDS Trace = Yes TraceFile = /tmp/sql.log Database = MI_DB Servername = MI_SERVIDOR UserName = usuario Password = contraseña Port = 1433 Protocol = 7 ReadOnly = No RowVersioning = No ShowSystemTables = No ShowOidColumn = No FakeOidIndex = No
Lo importante es que en Servername ponemos el que definimos en el archivo freetds.conf.
Ya tenemos instalado y configurado nuestro driver freetds para conectarnos con Python, lo que nos falta es el paquete que usará python. Logramos esta conexión con pymssql
Para instalarlo:
Código :
$ sudo pip install pymssql
¡Listo! sólo falta probarlo. Lo importante es poner en el parámetro host el server que definimos en el archivo freetds.conf.
Código :
>>> import pymssql >>> conn = pymssql.connect(host='[b]MI_SERVIDOR[/b]', user='user', password='password', database='mydatabase') >>> cur = conn.cursor() >>> cur.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') >>> row = cur.fetchone() while row: print "ID=%d, Name=%s" % (row[0], row[1]) row = cur.fetchone() >>> conn.close()
No hay comentarios:
Publicar un comentario