사용자 도구

사이트 도구


mssqlserver:jdbc

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
mssqlserver:jdbc [2018/12/11 14:46]
kwon37xi [Stored Procedure]
mssqlserver:jdbc [2022/03/31 17:32] (현재)
kwon37xi [JDBC Driver 사용시 String 파라미터로인한 Full Scan 문제]
줄 32: 줄 32:
   * [[http://cephas.net/blog/2005/12/02/java-jtds-preparedstatement-and-varchar/|Java, JTDS, PreparedStatement and varchar | Aaron Johnson]]   * [[http://cephas.net/blog/2005/12/02/java-jtds-preparedstatement-and-varchar/|Java, JTDS, PreparedStatement and varchar | Aaron Johnson]]
   * [[https://blogs.msdn.microsoft.com/sqlcat/2010/04/05/character-data-type-conversion-when-using-sql-server-jdbc-drivers/|Character data type conversion when using SQL Server JDBC drivers | SQL Server Customer Advisory Team]]   * [[https://blogs.msdn.microsoft.com/sqlcat/2010/04/05/character-data-type-conversion-when-using-sql-server-jdbc-drivers/|Character data type conversion when using SQL Server JDBC drivers | SQL Server Customer Advisory Team]]
 +  * [[https://vladmihalcea.com/sql-server-jdbc-sendstringparametersasunicode/|SQL Server JDBC - Set sendStringParametersAsUnicode to false]]
 <code> <code>
 # JDBC URL 파라미터로 아래 지정하면 VARCHAR 로 강제로 전송함 # JDBC URL 파라미터로 아래 지정하면 VARCHAR 로 강제로 전송함
줄 59: 줄 60:
   * MS의 JDBC Driver는 ''java.util.logging'' 사용   * MS의 JDBC Driver는 ''java.util.logging'' 사용
   * [[java:slf4j|Slf4j]]의 jul-to-slf4j 설정 적용해야 함.   * [[java:slf4j|Slf4j]]의 jul-to-slf4j 설정 적용해야 함.
-  * 쿼리 로그 설정 : 클래스의 패키지 구조와 로거 구조가 일치하지 않음.+  * 쿼리 로그 설정 : 클래스의 패키지 구조와 로거 구조가 일치하지 않음. 또한 JDBC 드라이버 버전마다 로거가 바뀜. 그래서 안나오면 확인필요
     * ''com.microsoft.sqlserver'' : ''info'' 이상     * ''com.microsoft.sqlserver'' : ''info'' 이상
-    * ''com.microsoft.sqlserver.jdbc.Connection'' : ''debug'' +    * ''com.microsoft.sqlserver.jdbc'' : ''debug''
-    * ''com.microsoft.sqlserver.jdbc.Statement'' : ''debug''+
   * [[https://docs.microsoft.com/en-us/sql/connect/jdbc/tracing-driver-operation|Tracing Driver Operation]]   * [[https://docs.microsoft.com/en-us/sql/connect/jdbc/tracing-driver-operation|Tracing Driver Operation]]
   * [[https://blogs.msdn.microsoft.com/psssql/2011/10/16/easy-jdbc-logging/|Easy JDBC Logging – CSS SQL Server Engineers]]   * [[https://blogs.msdn.microsoft.com/psssql/2011/10/16/easy-jdbc-logging/|Easy JDBC Logging – CSS SQL Server Engineers]]
  
 ===== Stored Procedure ===== ===== Stored Procedure =====
 +==== Stored Procedure connection catalog와 SP의 catalog가 다를 때 문제 ====
 +
   * Stored Procedure 사용시에, JDBC Driver 버그로 인해 현재 접속한 catalog(database)가 아닌 다른 catalog의 Stored Procedure 호출시 오류가 발생한다. [[https://hibernate.atlassian.net/browse/HHH-12704|[HHH-12704] MSSQL executing StoredProcedure on different DB using dot notation throws error - Hibernate JIRA]]   * Stored Procedure 사용시에, JDBC Driver 버그로 인해 현재 접속한 catalog(database)가 아닌 다른 catalog의 Stored Procedure 호출시 오류가 발생한다. [[https://hibernate.atlassian.net/browse/HHH-12704|[HHH-12704] MSSQL executing StoredProcedure on different DB using dot notation throws error - Hibernate JIRA]]
 <code> <code>
 The database name component of the object qualifier must be the name of the current database. The database name component of the object qualifier must be the name of the current database.
 </code> </code>
-  * Spring JDBC Template의 [[https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html|SimpleJdbcCall]] 등을 사용해 명시적으로 catalog name을 지정해주면 괜찮다. +  * Spring JDBC Template의 [[https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html|SimpleJdbcCall]] 에서 ''withCatalogName()'', ''withSchemaName()'' 등을 사용해 명시적으로 catalog name을 지정해주면 괜찮다. 
-  * 아마도 JPA 등을 사용시에도 [[https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#setCatalog-java.lang.String-|Connection.setCatalog()]]를 사용해도 될 것으로 보임. 작업 종료후 복구 필요.+  * 아마도 JPA 등을 사용시에도 [[https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#setCatalog-java.lang.String-|Connection.setCatalog()]]를 사용해도 될 것으로 보임. 작업 종료 후 원래 카탈로그로 복구 필요.
mssqlserver/jdbc.1544507219.txt.gz · 마지막으로 수정됨: 2018/12/11 14:46 저자 kwon37xi