Estoy tratando de conectarme a SQL a través de Python para ejecutar algunas consultas en algunas bases de datos SQL en el servidor Microsoft SQL. De mi investigación en línea y en este foro, la biblioteca más prometedora parece ser pyodbc. Así que hice el siguiente código
import pyodbc
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+;
database=+MSQLDatabase+; trusted_connection=true")
cursor = conn.cursor()
y obtienes el siguiente error
Traceback (most recent call last):
File "C:\Users...\scrap.py", line 3, in <module>
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+; database=+MSQLDatabase+; trusted_connection=true")
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
He visto las siguientes publicaciones e intenté cambiar mi controlador a {sql server} y me he conectado usando enlaces ODBC antes en SAS, que es en parte en lo que se basa mi código anterior, así que no creo que necesite instalar nada más.
Gracias
adodbapi
para usar la conexión OLEDB. Y el formato de cadena es la forma recomendada de pasar variables a una cadena en lugar de utilizar el+
operador. Las llaves con números son marcadores de posición que seformat()
rellenan en consecuencia. Incluso puede pasar listas y tuplas usandoformat()
. Su código original no dividió la cadena y las variables entre comillas, por lo que+
se consideró parte de la cadena.Prefiero así ... fue mucho más fácil
http://www.pymssql.org/en/stable/pymssql_examples.html
fuente
Aquí hay algunas fotos para principiantes.
fuente
Intente usar pytds, funciona en entornos más complejos
pyodbc
y más fáciles de configurar.Lo hice funcionar en Ubuntu 18.04
Código de ejemplo en la documentación:
fuente
Seguir el código de Python funcionó para mí. Para verificar la conexión ODBC, primero creé una aplicación de consola C # de 4 líneas como se indica a continuación.
Código Python
Llamar a un procedimiento almacenado
Programa C # para verificar la conexión ODBC
fuente
Un enfoque alternativo sería instalar Microsoft ODBC Driver 13, luego reemplazar
SQLOLEDB
conODBC Driver 13 for SQL Server
Saludos.
fuente
aquí está el que funciona para mí:
fuente
Encontré recursos actualizados aquí: Microsoft | Documentos SQL | Controlador SQL de Python
Se explican estas dos opciones, incluidos todos los requisitos previos necesarios y ejemplos de código: controlador Python SQL - pyodbc (probado y funcionando) controlador Python SQL - pymssql
fuente
Mi version. Espero eso ayude.
fuente
Intenté conectar el servidor SQL de las siguientes formas y me funcionaron.
Para conectarse usando la autenticación de Windows
Para usar la autenticación del servidor SQL, utilicé el siguiente código.
fuente
Prueba con
pymssql
:pip install pymssql
Salida:
La conexión también se puede comprobar desde el terminal, con una única línea de código con
sqlcmd
. Ver sintaxis .salida:
fuente