[pyar] pyodbc con oracle graba mal los datos
Javier Marcon
javiermarcon en gmail.com
Lun Abr 21 16:31:15 ART 2014
Hola, yo tengo una aplicación que usa pyodbc para grabar remitos
(master-detail) en 2 tablas de Oracle. Una clase hace un cursor.execute
de una sentencia (que graba datos estadisticos del remito), luego llama
a otra clase que graba los datos del remito en 2 tablas, una tabla tiene
los datos de cabecera y hace un solo insert con cursor.execute, luego se
graba el cuerpo del mensaje con varios cursor.execute asi:
sql = "insert into remitos_detalle ( ORDEN, ARTICULO, UUID, CANTIDAD)
values (?, ?, ?, ?)"
cursor.execute("delete from remitos_detalle where uuid = ?", (u'7233e21c'))
cursor.execute(sql, (0, u'Art21', u'7233e21c', u'6'))
cursor.execute(sql, (1, u'Art24', u'7233e21c', u'6') )
cursor.execute(sql, (2, u'Art25', u'7233e21c', u'12'))
cursor.execute(sql, (3, u'Art26', u'7233e21c', u'6'))
Luego se retorna a la clase anterior y se hace el cursor.commit. Lo que
pasa es que se graban bien los datos estadisticos y la cabecera de los
remitos, pero la tabla remitos_detalle se graba mal (sin dar error),
para el ejemplo anterior en remitos detalle se grabó:
ORDEN ARTICULO UUID CANTIDAD
0 Art21 7233e21c 6
1 Art21 7233e21c Null
2 Art21 7233e21c Null
3 Art21 7233e21c Null
Los campos ARTICULO y UUID son nvarchar2 (100) y los campos ORDEN y
CANTIDAD son Float. La conexión tiene puesto que siempre retorne los
datos como unicode.
A alguien se le ocurre por que me puede estar pasando esto?
Gracias,
Javier.
More information about the pyar
mailing list