Soy relativamente nuevo en bases de datos, realizo consultas SQL, etc. En este momento estoy usando exclusivamente MS SQL Server para mis DB (eso es lo que usamos en mi trabajo), pero ojalá las respuestas a mi pregunta pueden ser más generales que solo para ese DB en particular.pymssql versus pyodbc versus adodbapi versus ...
Hago una buena parte de mi trabajo utilizando la aplicación de interfaz de DB en sí (en este caso, SQL Server Management Studio), pero también trabajo con scripts de Python, algunos de los cuales se ejecutan como trabajos cron, algunos de los cuales son sitios web tales que los usuarios pueden enviar consultas a la base de datos.
He estado usando el módulo pymssql para consultar en & escribiendo en DBs de python. Pero hay algunos problemas molestos que me estoy encontrando. (Parece que pymssql no puede usar tablas temporales, y también he tenido problemas con "autocommit", pero es probable que sea por mi culpa)
Así que siendo ignorante de todo esto, me gustaría un sabor de qué dirección en que debería ir. Por lo que yo puedo decir, que pude ya sea:
- uso pymssql, que habla directamente a los servidores MS SQL
- uso pyodbc, que requiere FreeTDS instalación & unixODBC primero, y que fueron creados
- uso Módulo adodbapi, y no estoy seguro de cuáles son los requisitos aquí.
- otro método ??
La cosa es que yo no TOTALMENTE conseguir lo hace ODBC. Parece una especie de "intermediario de autentificación", algo así como un intermediario para asegurarse de que el usuario es quien dice. Y tengo aún menos conocimiento de ADO.
Si bien pymssql parece ser la forma más fácil de hacerlo, también parece ser la que la gente piensa menos y que eventualmente quedará obsoleta. Prefiero aprender el camino "correcto" ya que estoy comenzando con estas cosas.
Así que estoy buscando algunas opiniones conocedoras sobre la mejor manera de hacer que python hable con MS SQL Server, y hablar con DBs en general. Definiría "lo mejor" como lo mejor para alguien que haga cosas moderadamente complejas con él. (Aunque recién estoy comenzando, es algo que eventualmente tendré que aumentar un poco).
¡Gracias! Mike
Como se anunció en diciembre de 2016, pyodbc ahora es [oficialmente compatible con Microsoft] (https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/09/sql-server -python-whats-new /). –