2011-01-29 4 views
1

Tomcat에 수동으로 배포하여 내 Java Web App가 Windows XP 64 비트 시스템 DSN에서 정상적으로 작동합니다. [Microsoft] [ODBC 드라이버 관리자] 유효하지 않은 문자열 또는 버퍼 길이 WINDOWS SERVER 2008

은 내가 윈도우 서버 2008 64 비트에 톰캣 내 웹 애플리케이션을 실행하고합니다. 사용자 DSN에서는 데이터 소스를 감지하지 못하기 때문에 시스템 DSN을 사용하고 있습니다.

  1. 내가 SQL 서버와 DSN 레지스트리 값을 비교, 그들은 동일합니다

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

    지금까지 내가 시도 :이 시나리오에서는 다음과 같이 나에게 오류를 던지고있다.

  2. 나는

2008 미리 감사가 있지만 Windows 서버에서 잘 작동하고, 다른 XP 컴퓨터에 배포했습니다.

답변

0

Jboss 4.x에 배포 된 응용 프로그램에서 System ODBC DSN (MS Access .mdb 파일)에 대해 쿼리를 실행하려고하면 "SQL 상태 [S1090], 오류 코드 [0], [Microsoft ] [ODBC 드라이버 관리자] 잘못된 문자열 또는 버퍼 길이 "Windows Server R2에서. 두 개의 다른 Windows Server R2 시스템에서 같은 오류가 재현되었습니다. Windows Server Standard (i guess R1) 및 Windows 7 Professional x64에서는 문제가 재현되지 않습니다. 더 이상, 동일한 Windows Server R2에서 독립 실행 형 응용 프로그램에서 직접 연결하려고 할 때이 문제가 발생하지 않습니다. 응용 프로그램에서 데이터 원본을 연결/검색하지 않으면 이러한 DSN 이름이 없거나 찾을 수 없다는 오류가 발생합니다. ODBC 데이터 원본 (등록 된 데이터 원본 이름 - DSN)에 빈 쿼리를 보내려고하면 같은 오류 메시지가 throw됩니다. 그래서 나는 ODBC가 DS에 대해 실행하려고하는 빈 쿼리를 얻었고 그 결과는 다음과 같다고 생각합니다 : 잘못된 문자열 또는 버퍼 길이.
주어진 DSN을 사용하여 ODBC DS로 등록 된 .mdb 파일을 읽을 수 있고 독립 실행 형 응용 프로그램에서 쿼리 할 때이 오류가 나타나지 않습니다. .mdb를 읽을 독립 실행 형 응용 프로그램을 만들 것입니다. ODBC를 통해 파일을 만들고 Jboss 응용 프로그램에서 읽을 .csv 파일에 내용을 작성하십시오. 누구든지 더 나은 해결책을 찾으면 알려 주시기 바랍니다.

관련 문제