Я думаю о запуске проекта, который будет взаимодействовать с несколькими СУБД. Хотя JDBC недоступен непосредственно из C / C ++, он остается привлекательным по следующим причинам:
Я почти убедил себя, что это путь. Однако я не знаю, ведет ли моя неопытность с ODBC и JNI к наивным выводам.
Пожалуйста, порекомендуйте.
Я бы не стал использовать JNI / Java только ради ODBC. В Windows просто используйте собственный ODBC API. На * nix unixodbc работает хорошо. Также есть сторонние поставщики, такие как Progress (DataDirect).
Единственное, что я видел в unixodbc (и это не проблема unixodbc) — это смешивание Sybase ASE. & Sybase IQ. Драйверы, предоставляемые Sybase для двух СУБД, построены по-разному, что делает их несовместимыми во время выполнения для систем x64 (одна из них рассчитана на 32-битные типы, другие 64-битные типы и unixodbc должны быть собраны в соответствии с необходимым драйвером, и вы не можете использовать оба одновременно).
Я также рекомендовал бы использовать слой абстракции, такой как ++ ODBC (к сожалению, кажется, что не поддерживается активно — и обратите внимание, что последний odbc ++ имеет проблемы с 64-битной совместимостью из коробки), или OTL (который активно поддерживается).
Других решений пока нет …