2011-01-29 3 views
1

Мой java webapp отлично работает на моих 64-битных Windows XP с системным DSN, развернув вручную в tomcat.[Microsoft] [Менеджер драйверов ODBC] Неверная длина строки или буфера В WINDOWS SERVER 2008

Когда я бегу мой веб-приложение в Tomcat на Windows Server 2008 64-битных. Я использую системный DSN, потому что с пользовательским DSN он не обнаруживает источник данных. В этом случае он бросает мне ошибку следующим образом:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length 

До сих пор я пытался:

  1. сравнил значения реестра SQL сервера и уведомления о доставке, и они такие же.

  2. Я развертывается на другой машине XP, она работает нормально, но не на Windows Server 2008

Спасибо заранее.

ответ

0

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

Смежные вопросы