tengo las siguientes líneas de código:no puede obtener consulta de origen para trabajar MySQL usando Python módulo MySQLdb
sql = "source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql"
cursor.execute (sql)
Cuando ejecuto mi programa, me sale el siguiente error:
Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source C:\My Dropbox\workspace\projects\hosted_inv\create_site_db.sql' at line 1
Ahora puedo copiar y pasar el siguiente en mysql como una consulta:
source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
Y funciona perfecto. Cuando compruebo el registro de consultas para la consulta ejecutada por mi guión, muestra que mi pregunta era la siguiente:
source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
Sin embargo, cuando me pega manualmente en y ejecutar, todo el create_site_db.sql se expandió en el query log y muestra todas las consultas sql en ese archivo.
¿Me falta algo aquí sobre cómo mysqldb hace las consultas? Estoy corriendo en una limitación. Mi objetivo es ejecutar un script sql para crear la estructura de esquema, pero no quiero tener que llamar a mysql en un proceso de shell para obtener el archivo sql.
¿Alguna idea? ¡Gracias!
¡Muchas gracias! sql = open ("test.sql"). read() hace exactamente lo que quiero. Quería evitar bifurcar un proceso de shell porque no solo se sentía innecesario, sino que también tendría una dependencia de los binarios del cliente mysql que se estaban instalando en el sistema desde el que ejecuté. ¡Gracias por la ayuda de todos! – Chris
De nada, Chris – YOU