Oracle ODBC support for fast_executemany

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Thu, 19 Nov 2020 00:53:29 -0500
Message-ID: <e0d53307-af13-85fd-b75f-df3634b0b683_at_gmail.com>



Oracle Corp. has generously provided cx_Oracle Python package for Oracle and an Oracle ODBC driver, free of charge. There is a very new and and a very interesting feature called "fast_executemany" which is known to us Oraclites for the last 2 decades as "array interface". The description of that very new feature is here:

https://github.com/mkleehammer/pyodbc/wiki/Features-beyond-the-DB-API

Essentially, the whole array is inserted at once, thereby saving many trips over the network. Sounds familiar? Well, there is a little problem: Oracle ODBC driver doesn't support that feature, at least not the one from the instant client 19.8. As this feature is very new, very few drivers support it. Here are some drivers that were tested with "fast_executemany":

https://github.com/mkleehammer/pyodbc/wiki/Driver-support-for-fast_executemany

The description saying that it "crashes Python" sounds particularly amusing, but it isn't. I tried with FreeTDS and got an extremely quick core dump. Here is a question for the friends from Oracle Corp. on this list: Is Oracle Corp. going to support fast_executemany in the ODBC driver provided with the instant client? When can that support be expected, if the answer to the previous question is a positive one? I really don't want to write a separate script to insert into an Oracle database. The MS ODBC no. 17 works. The other drivers usually result in the use of the good, old no. 7.

-- 
Mladen Gogala
Database Consultant
Tel: (347) 321-1217

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Nov 19 2020 - 06:53:29 CET

Original text of this message