Skip to content

Instantly share code, notes, and snippets.

@dckc
Created November 15, 2011 18:00
Show Gist options
  • Save dckc/1367801 to your computer and use it in GitHub Desktop.
Save dckc/1367801 to your computer and use it in GitHub Desktop.
why am I getting: sqlalchemy.exc.CompileError: The version of oracle you are using does not support empty inserts.
import csv
import sys
import logging
import sqlalchemy
def main():
logging.basicConfig(level=logging.DEBUG, stream=sys.stderr)
sl = logging.getLogger('sqlalchemy')
sl.setLevel(logging.DEBUG)
schemaname, tablename, infn, dbaddr = sys.argv[1:5]
rows = csv.DictReader(open(infn))
e = sqlalchemy.create_engine(dbaddr)
# print e.execute('select 1+1 from dual').fetchall()
md = sqlalchemy.MetaData(e)
t = sqlalchemy.Table(tablename, md, schema=schemaname, autoload=True)
conn = e.connect()
conn.begin()
for row in rows:
conn.execute(t.insert(values=row))
conn.commit()
if __name__ == '__main__':
main()
@dckc
Copy link
Author

dckc commented Mar 2, 2017

because there is no intersection between t.insert().compile().params (lowercase) and rows.fieldnames (uppercase?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment