Ошибка Python Petl appendb / todb с Sybase ASE - PullRequest
0 голосов
/ 17 октября 2018

У меня проблема с переносом данных из одной базы данных sybase в другую с помощью petl.Ниже приведен код, вызывающий проблему

data = etl.fromdb(old_conn, 'SELECT * FROM %s' % (table))
print(data)
print(table)

etl.appendb(data, new_conn, table)

, вызов fromdb работает нормально, и я могу успешно распечатать таблицу.При вызове appenddb появляется это сообщение об ошибке (такое же сообщение наблюдается, если я использую функцию todb):

File "C:/Subversion/CDMFCommon/OspreyDataLoader/Trunk/main.py", line 48, in get_table_schema etl.appenddb(data, new_conn, table)
File "C:\Users\MIL83708\AppData\Local\Programs\Python\Python37-32\lib\site-packages\petl\io\db.py", line 624, in appenddb truncate=False)
File "C:\Users\MIL83708\AppData\Local\Programs\Python\Python37-32\lib\site-packages\petl\io\db.py", line 356, in _todb commit=commit, truncate=truncate) line 433, in _todb_dbapi_connection
cursor.executemany(insertquery, it)
pyodbc.ProgrammingError: ('42000', "[42000] [SAP][ASE ODBC Driver][Adaptive Server Enterprise]Incorrect syntax near '('.\n (102) (SQLExecDirectW)")

Любая помощь будет принята с благодарностью.

Python 3.7.1.rcl

petl 1.2.0

pyodbc 4.0.24

SAP Adaptive Server Enterprise 16.0 SP02

...