将数据本地填充sqlalchemy和python加载到mysql数据库

2024-09-29 20:30:46 发布

您现在位置:Python中文网/ 问答频道 /正文

{alcym>正在尝试使用^我的批处理文件。我编辑了我的/etc/mysql/my.conf,使其在[mysql][mysqld]下都包含{},但是我在运行程序时得到了这个回溯。在

相关代码行为:

    Traceback (most recent call last):
  File "main.py", line 48, in <module>
    con.execute(sql)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 906, in execute
    return self._execute_text(object, multiparams, params)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1054, in _execute_text
    statement, parameters
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1332, in _handle_dbapi_exception
    exc_info
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 442, in do_execute
    cursor.execute(statement, parameters)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/Users/eoddata/venv/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1148, 'The used command is not allowed with 
this MySQL version') [SQL: "LOAD DATA LOCAL
 INFILE 'stocks/AMEX_20150420.txt' INTO TABLE database.new_table\n                    
FIELDS TERMINATED BY ',' (Symbol,@Date,Open,High,Low,Close,Volume)\n                    
SET Date = STR_TO_DATE(@Date,'%%Y%%m%%d');"]

我从文档中做了一些研究,但找不到解决这个错误的方法。使用pythonmysqldb(frompip install MySQL-Python)将允许我传入一个本地填充参数。我在炼金术中找不到对应的。感谢任何帮助。在

编辑:我整晚都在做这个,但仍然没有取得任何进展——很多死胡同。有什么想法吗?在

谢谢,贾里德


Tags: inpyexecutebasevenvsqlalchemylibpackages
1条回答
网友
1楼 · 发布于 2024-09-29 20:30:46

您应该将local_infile=1添加到连接字符串中。在

SQLALCHEMY_DATABASE_URI = "mysql://user:pass@localhost/dbname?charset=utf8&local_infile=1"

相关问题 更多 >

    热门问题