사용자 도구

사이트 도구


mssqlserver:jdbc

MS SQL Server JDBC

Timeout

설정값이 millisecond와 second가 섞여 있어서 매우 주의해야 함.

  • loginTimeout=second : connection timeout 역할 단위
  • socketTimeout=millisecond 밀리초 단위
  • queryTimeout=second 단위
  • lockTimeout=millisecond : Lock을 기다리는 시간. sessionTimeout, queryTimeout보다는 작은값이어야 할 듯.

JDBC Driver 사용시 String 파라미터로인한 Full Scan 문제

# JDBC URL 파라미터로 아래 지정하면 VARCHAR 로 강제로 전송함
sendStringParametersAsUnicode=false
단, 이 경우에도 JDBC 4 에서 지원하는 setNString() 같은 setN* 계열 사용시에는 Unicode로 전송한다.

# sendStringParametersAsUnicode=false 상황에서도 NVARCHAR 전송이 필요하면
pStmt.setObject(2,Id,Types.NVARCHAR); //강제로 Unicode로 전송
# 혹은 setNString() 사용

혹은 JDBC 드라이버 변경없이convert로 처리한다.

...
WHERE varcharcolumn = CONVERT(VARCHAR, ?)

Logging

mssqlserver/jdbc.txt · 마지막으로 수정됨: 2018/05/15 15:37 저자 kwon37xi