우선, 전 Java/JSP/Eclipse
입니다. 그러나, 나는 수년간 .Net 경험을했습니다. 나는 방금 javax.sql.DataSource
을 사용하여 MS SQL Server에 연결하는 방법을 Java에서 배웠습니다 (따라서 userid/암호를 입력 할 필요가 없습니다).Java JDBC 연결 풀링 (확인 방법)?
지금 당장 DB 쿼리를 처리 할 클래스를 만들었고이 클래스에서는 RowSet
을 반환하기 위해 호출 할 수있는 함수가 있습니다.
import javax.naming.Context;
import javax.naming.InitialContext;
import java.sql.Connection;
import javax.sql.DataSource;
import javax.sql.rowset.JdbcRowSet;
import com.sun.rowset.JdbcRowSetImpl;
public abstract class ClsDBAccessBASE {
public boolean prbAutoCommit = true;
public String prsDataSourceName = "";
public ClsDBAccessBASE(String pvsDataSourceName) {
prsDataSourceName = pvsDataSourceName;
}
public JdbcRowSet fnorsSQLText(String pvsSQLText) {
JdbcRowSet voRS = null;
try {
Context voContext = new InitialContext();
DataSource voDS = (DataSource)voContext.lookup(prsDataSourceName);
Connection voConn = (Connection)voDS.getConnection();
voRS = new JdbcRowSetImpl((voConn.createStatement()).executeQuery(pvsSQLText));
} catch (Exception e) {e.printStackTrace();}
return voRS;
}
}
}
내 목표는 연결 풀링을 사용하는 것입니다. JdbcRowSet
이 자동으로 구현되는 것을 알고 있습니까? 그러나 문제는 (내가 생각하기에) (voConn.createStatement()).executeQuery(pvsSQLText)
을 ResultSet
에서 JdbcRowSet
으로 전송한다는 것입니다. 이는 사용 된 기본 연결이 여전히 ResultSet
이라는 것을 의미합니까? 아니 RowSet
? 연결 풀링을 실제로 사용하고 있는지 확인하는 방법이 있습니까?
내 질문이 어리석은 경우 미안 해요. 나는 자바 개발 & Eclipse에 매우 익숙하다. 제발 저를 참 아 주시면 제가 제게 제공 할 수있는 모든 지침을 고맙게 생각합니다. . 나는 JdbcRowSet.execute()
기능 및/또는 다음 내용() 함수 NullReference에 대해 뭔가를 호출 할 때마다 나에게 오류를 줄 것으로 보인다 Microsoft
에서 sqljdbc4.jar
(그러나 그것은 또 다른 문제입니다
고맙습니다! 연결 풀링에 대한 답변을 얻었습니다! 요약 할 수 있습니다 : voRS = (RowSet) (proConnection.createStatement()). executeQuery (pvsSQLText); 트릭을 수행할까요? ResultSet을 RowSet으로 변환 할 것인가? –
음, 내 실수는 RowSet이 아니라 물론 ResultSet이어야합니다. executeQuery는 항상 ResultSet을 리턴 할 것이고, 수동으로 가져올 수 있으며 next() 메소드와 현재 행 값을 읽는 다양한 유형의 getter가 있습니다. – user1516873
예, 결과 집합을 찾았습니다. 다시 tnx. –