﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
4896	Buggy implementation of executemany for oracle	jdetaeye@…	Erin Kelly	"
The following example shows the buggy implementation. The same example works fine with sqlite and postgresql.
{{{
cursor = connection.cursor()
cursor.execute('create table test (Field1 NUMBER(11),Field2 NUMBER(11))')
cursor.executemany('insert into test values (%s, %s)', [(i,i+1) for i in range(1,100)])
}}}

It returns the following error message:
{{{
  File ""C:\packages\Python-2.5\lib\site-packages\django\db\backends\util.py"", line 30, in executemany
    return self.cursor.executemany(sql, param_list)
  File ""C:\packages\Python-2.5\lib\site-packages\django\db\backends\oracle\base.py"", line 125, in executemany
    query, params = self._rewrite_args(query, params)
  File ""C:\packages\Python-2.5\lib\site-packages\django\db\backends\oracle\base.py"", line 101, in _rewrite_args
    query = smart_str(query, self.charset) % tuple(args)
  TypeError: not all arguments converted during string formatting
}}}
"		closed	Database layer (models, ORM)	dev		fixed	oracle executemany		Accepted	1	0	0	0	0	0
