programing

java.sql.SQL 예외: ORA-03115: 지원되지 않는 네트워크 데이터 유형 또는 표현

abcjava 2023. 6. 30. 21:46
반응형

java.sql.SQL 예외: ORA-03115: 지원되지 않는 네트워크 데이터 유형 또는 표현

Oracle 11g 데이터베이스를 사용하고 있습니다.제가 db에서 데이터에 액세스하려고 했을 때 java.sql 오류가 표시되었습니다.SQL 예외: ORA-03115: 지원되지 않는 네트워크 데이터 형식 또는 표현입니다.나는 이 오류가 무슨 뜻인지 이해하지 못합니다.

내 코드는:

 String uname,pass;
    ResultSet rs = null;
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
  try
  {
    uname=request.getParameter("uname");
    pass=request.getParameter("pass");
    Connection con=prepareConnection();
    String Query="select uname from passmanager where pass=?";
    PreparedStatement ps=con.prepareStatement(Query);
    ps.setString(1,pass);
    rs=ps.executeQuery(Query);
    if (rs.next() && uname.equalsIgnoreCase(rs.getString("uname")) || uname.equalsIgnoreCase(rs.getString("email"))) {
    HttpSession session = request.getSession(true);
    session.setAttribute("uname", rs.getString(1));

    ServletContext context = getServletContext();
    RequestDispatcher dispatcher = context
                    .getRequestDispatcher("/profile");
    dispatcher.forward(request, response);
  }

이 문제를 해결할 수 있도록 도와주세요.

다음 대신:

rs = ps.executeQuery(Query);

다음을 실행해야 합니다.

rs = ps.executeQuery();

그렇지 않으면 새 SQL 문을 할당하기 때문에 문 준비가 취소되고 모든 매개 변수가 손실됩니다.

이 오류는 결과 집합에 없는 이름(이 경우 rs.getString("unname")으로 필드를 가져오려고 할 때 나타납니다.

그리고 igr가 말했듯이, 당신은 이메일 필드(rs.getString("email")를 얻으려고 하는데 그것은 쿼리에 없으므로 이것은 당신의 오류입니다.

문자열 끝에 공백이 있는 필드(rs.getString("unname") 대신 rs.getString("unname"))을 가져오려고 할 때 응용 프로그램에서 동일한 오류가 발생하여 이 대화를 찾았습니다.

그리고 쿼리에서 얻은 필드의 정확한 이름을 사용하여 수정합니다.

도움이 되었으면 좋겠습니다! ;) ;)

전자 메일 열 추가

select uname, email from passmanager where pass=?

언급URL : https://stackoverflow.com/questions/14302577/java-sql-sqlexception-ora-03115-unsupported-network-datatype-or-representation

반응형