2012-08-22 4 views
1

Java 프로그래밍에 익숙하지 않으며 현재 MVC 아키텍처를 사용하여 첫 번째 웹 응용 프로그램을 개발 중입니다. 하지만 제 신청서에 많은 문제가 있습니다. 왜 그런 일이 발생하고 있는지 알지 못합니다. 예를 들어 내 JSP 페이지에 다음 코드가이 코드가 완벽하게 작동 시간에서Java EE 웹 응용 프로그램의 문자열 또는 버퍼 길이가 잘못되었습니다.

   Connection connection = null; 
       PreparedStatement statement = null; 
       ResultSet rs = null; 
       String QueryString=""; 
       String stuid=""; 
       try { 
         QueryString = "SELECT Student_ID, Student_F_Name, Student_L_Name, Student_NIC, Student_Address, Student_DOB, Student_Email, Student_Gender, Course_Name, Batch_Name, Student_username, Student_password FROM Student WHERE Student_ID = ?"; 
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
         connection = DriverManager.getConnection("Jdbc:Odbc:UniversityDSN"); 
         statement=connection.prepareStatement(QueryString); 
         stuid = session.getAttribute("studentid").toString(); 
         statement.setString(1, stuid); 
         rs = statement.executeQuery(); 

,하지만 잠시 후,이 코드가 작동을 중지하고이 같은 오류를 제공합니다

정보 : 예외 : SQLException : [마이크로 소프트] [ODBC 드라이버 관리자] 잘못된 문자열 또는 버퍼 길이

그러나 나는 다음과 같은 위의 코드를 수정하는 경우 :

을 0

다시 작업을 시작합니다. 그러나 잠시 후,이 코드는 다시 같은 예외를주는 작업을 멈추게 될 것이고 이전의 방식대로 수정해야합니다. 하지만이 두 가지 모두에서 코드를 디버깅하면 완벽하게 작동합니다. 내 코드를 수정하는 데 많은 시간을 낭비해야하고 JSP 페이지 나 서블릿 또는 내가 사용하는 Bean 클래스에서 많은 시간을 낭비해야하기 때문에 이것은 상당히 성가시다. 누군가 내가 어쩌면 잘못했는지 제안 할 수 있다면 정말 고맙겠습니다. 어떻게이 문제를 피할 수 있습니까?

+0

MVC는 아키텍처가 아닌 패턴입니다. –

+0

정보를 제공해 주셔서 감사합니다. 제가 말했듯이, 저는 여전히 학생이고 Java와 MVC를 처음 접했습니다. 귀하의 정보를 염두에 두겠습니다. 비록 당신이 내 문제에 대한 제안을 제공 할 수 있다면 정말로 감사 하겠지만. 다시 한번 감사드립니다 :) –

답변

1

우선 자바 odbc 드라이버는 웹 서버 및 멀티 스레드 환경에 적합하지 않습니다. 나는 그것이 당신의 버그와 관련이 있다고 생각합니다.

db 연결 참조가 손실되었습니다. 그리고 당신이 할 수있는 일은 아무것도 없습니다. 유일한 방법은 웹 환경을위한 더 나은 드라이버 인 MS SQL 용 JDBC 드라이버를 사용하는 것입니다.

정보 : 예외 : SQLException : [마이크로 소프트] [ODBC 드라이버 관리자] 잘못된 문자열 또는 버퍼 길이

그것은 때로는 너무 DB 서버의 업그레이드에 연결되어

.
java odbc 드라이버의 버전이 db 서버 버전과 일치해야하기 때문에 ...

+0

답장을 보내 주셔서 감사합니다! 나는 MS SQL 용 JDBC로 시도 할 것이다. 하지만 대부분의 친구들은 Java ODBC 드라이버를 사용하지만 이상하게 문제가되지 않습니다. DB 서버의 업그레이드와 관련이 있다고 생각합니까? 그렇다면 당신이 나에게 무엇을 제안하겠습니까? Java Odbc 드라이버를 업그레이드 할 수있는 방법이 있습니까? –

+0

프로그래밍에서 때로는 나쁜 일을하는 대중은 자신의 프로그램을 프로덕션 환경에 배치하는 동안 버그를 보지 못합니다. 어떤 사람들은 운이 좋다 : 그들은 초기 단계에서 이러한 문제에 직면 해있다. DB 버전을 살펴보면 MS SQL 웹 페이지에서 찾을 수있는 매트릭스 호환성과 일치하는 드라이버 버전이 있어야합니다. odbc 드라이버에도 동일하게 적용됩니다. – ThierryB

0

오라클 데이터베이스에 외부 커넥터를 사용하는 중에이 문제가 발생했습니다. 여기서 문제는 ODBC 드라이버입니다. Oracle 11G를 사용하고 있었고 소스에서 DSN을 만들었습니다. Oracle 11G에 필요한 JDBC-ODBC 드라이버는 ojdbc5.jar입니다. 나는 운전사를 바꾸었고 오류는 사라졌다. 이 오류는 주로 64 비트 프로세스와 관련이 있습니다.

관련 문제