Я написал скрипт python для выполнения моего SQL-скрипта. Когда я вручную запустить этот SQL скрипт, используя источник не дает мне какие-либо ошибки просто предупреждение, и он полностью выполняет как:Sql скрипт при запуске vi mysql python дает ошибку
mysql> source the_actual_script.sql
Database changed
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.29 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>
Но когда я пытаюсь и запустить его через мой питона код:
import MySQLdb
db = MySQLdb.connect("aws.eu-central-1.rds.amazonaws.com","prod_user","pass","db_name")
cursor = db.cursor()
for line in open("/home/ubuntu/PATCHER/the_check_query.sql"):
print cursor.execute(line)
db.close()
Это дает мне ошибки:
test.py:8: Warning: PROCEDURE saas_neopostsa.temp_prod does not exist
cursor.execute(line)
test.py:8: Warning: PROCEDURE saas_neopostsa.temp_prod_neopost does not exist
cursor.execute(line)
test.py:8: Warning: PROCEDURE saas_neopostsa.temp_prod_neopostsa does not exist
cursor.execute(line)
test.py:8: Warning: Unknown table 'temp_identity_neopostsa'
cursor.execute(line)
test.py:8: Warning: Unknown table 'temp_identity'
cursor.execute(line)
Traceback (most recent call last):
File "test.py", line 8, in <module>
cursor.execute(line)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1065, 'Query was empty')
может кто-то помочь мне, что случилось?
Возможный дубликат [чтение внешнего скрипта sql в python] (http://stackoverflow.com/questions/19472922/reading-external-sql-script-in-python) –