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:
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()
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por orlandohdz1 el 25 de Junio de 2013
Por orlandohdz1 el 25 de Junio de 2013