Estoy tratando de entender qué funciones de ODBC llamar y cómo llamar a para buscar filas en lotes o insertar filas en lotes (inserciones que utilizan variables de vinculación no solo una matriz de instrucciones de inserción) .¿Cómo recuperas o insertas filas en lotes usando ODBC? (en C o C++)
puedo buscar una fila a la vez llamando a estas funciones con el fin
SQLBindParameter
SQLExecute
SQLFetch
Además, si se hacen inserciones/actualizaciones que pueda hacer una fila a la vez llamando a estas funciones
SQLBindParameter
SQLExecute
Lo que no sé es qué tengo que cambiar en estas llamadas para:
1) Buscar filas en lotes, por ejemplo 150 filas por lote
2) Inserte varias filas por cada llamada SQLExcecute, p. 150 filas por llamada
Ejemplos breves (no necesariamente compilables, ya que los programas ODBC tienden a ser largos ... ignore la configuración/inicialización, ignore la comprobación de errores) y sería útil demostrar cómo se hace. O un puntero a un código de fuente abierta comprensible que está haciendo este tipo de cosas
base de datos serie la lectura/escritura será mucho más costosa que la sobrecarga de llamada a la función secundaria de llamar a SQLBindParameter/SQLExecute un montón de veces. –
No estoy seguro de lo que quieres decir. Sé que odbc y otras aplicaciones aptatery admiten operaciones por lotes. Simplemente no sé cómo se hace usando odbc. En Java, por ejemplo, tienen métodos como PreparedStatement.addBatch() PreparedStatement.executeBatch() – user754425
Eso es porque la interfaz JNI de Java para C es muy costosa. Así que cuantas menos llamadas nativas, mejor.Ese no es el caso cuando estás programando en C o C++. –