При попытке выполнить запрос к DSN системы ODBC (файл MS Access .mdb) из приложения, развернутого в Jboss 4.x, я получаю ту же ошибку: «Состояние SQL [S1090]; код ошибки [0]; [Microsoft] [Диспетчер драйверов ODBC] Недопустимая длина строки или буфера »в Windows Server R2.
Я воспроизвел ту же ошибку на 2 разных машинах Windows Server R2. На Windows Server Standard (я думаю R1) и Windows 7 Professional x64 проблема не воспроизводима.
Более того, на той же Windows Server R2, когда я пытаюсь подключиться напрямую (из автономного приложения), я не вижу этой проблемы.
Если приложение не подключит / не обнаружит источник данных, вы получите сообщение об ошибке, в котором говорится, что такого имени DSN нет или оно не найдено.
Такое же сообщение об ошибке выдается при попытке отправить пустой запрос к источнику данных ODBC (зарегистрированное имя источника данных - DSN). Поэтому я предполагаю, что ODBC получает пустой запрос, который пытается выполнить против DS, и в результате получается: Неверная длина строки или буфера.
Так как я могу прочитать файл .mdb, зарегистрированный как ODBC DS с данным DSN, и не получаю эту ошибку при запросе его из автономного приложения, я собираюсь создать отдельное приложение, которое будет читать файл .mdb через ODBC и запишите его содержимое в файл .csv, который будут читать приложения Jboss.
Если кто-нибудь найдет лучшее решение, пожалуйста, дайте мне знать.