fast_executemany support for various ODBC drivers - mkleehammer/pyodbc GitHub Wiki
Not all ODBC drivers support parameter arrays, the internal ODBC mechanism that fast_executemany
uses to do its magic. If you have additional or updated information on a particular driver please feel free to update this list.
Database | Driver Name | Driver Version | OS | Result | Notes |
---|---|---|---|---|---|
Informix | odbc for informix [iclit09b.so] | Linux | crashes CPython interpreter | issue #989 | |
Microsoft Access | Microsoft Access Driver (*.mdb, *.accdb) | Access 2010 | Windows | crashes CPython interpreter | |
Microsoft SQL Server | ODBC Driver 17 for SQL Server | 17.x | Linux/Windows | Works | local temporary tables, TVPs, performance inserting NULLs |
Microsoft SQL Server | FreeTDS [libtdsodbc.so] | 01.00.0082 | Linux | crashes CPython interpreter | |
MySQL | MySQL ODBC 8.2 ANSI Driver | 08.02.000 | Windows | does not work | throws 'Converting decimal loses precision' ProgrammingError for Decimal parameters, otherwise no effect |
MySQL | MySQL ODBC 8.2 Unicode Driver | 08.02.000 | Windows | does not work | throws 'Converting decimal loses precision' ProgrammingError for Decimal parameters, otherwise no effect |
Oracle | Oracle ODBC instant client 19.9 | 19.9 | Linux | Works | |
PostgreSQL | PostgreSQL Unicode(x64) | 12.01.00 | Linux | does not work | loses fractional seconds, otherwise no effect |
PostgreSQL | PostgreSQL Unicode(x64) | 13.02.00 | Windows | does not work | loses fractional seconds, issue #1306 |
SAP ASE (Sybase) | Adaptive Server Enterprise (ANSI) [libsybdrvodb-sqllen8.so] | 16.0.03.02 | Linux | Works | tested using charset=utf8 |
SAP ASE (Sybase) | FreeTDS [libtdsodbc.so] | 01.01.0036 | Linux | crashes CPython interpreter | |
SQLite | SQLite3 ODBC Driver [sqlite3odbc.dll] | 0.9998 | Windows | crashes CPython interpreter |
"No effect" means that enabling fast_executemany
does not cause errors, but it also doesn't make any significant difference to the amount of network traffic generated by an executemany
call.