JDBC 드라이버의 국가별 기능

Microsoft SQL Server 2005 JDBC 드라이버의 국가별 기능은 다음과 같습니다.

  • SQL Server와 동일한 언어로 완전히 지역화된 환경을 지원합니다.

  • 로캘을 구분하는 SQL Server 데이터에 대해 Java 1.4 수준 언어 변환을 지원합니다.

  • 운영 체제에 관계없이 국가별 언어를 지원합니다.

문자 데이터 처리

Java 문자 데이터는 기본적으로 유니코드로 처리하며 Java String 개체는 유니코드 문자 데이터를 나타냅니다. JDBC 드라이버에서 이 규칙의 유일한 예외는 ASCII 스트림 getter 및 setter 메서드입니다. 이들 메서드는 암시적으로 잘 알려진 단일 코드 페이지(ASCII)를 전제로 한 바이트 스트림을 사용하기 때문에 특수한 경우에 해당합니다.

또한 JDBC 드라이버에서는 sendStringParametersAsUnicode 연결 문자열 속성을 제공합니다. 이 속성을 사용하여 문자 데이터의 준비된 매개 변수를 유니코드가 아닌 ASCII로 보내도록 지정할 수 있습니다.

sendStringParametersAsUnicode 연결 문자열 속성에 대한 자세한 내용은 연결 속성 설정을 참조하십시오.

드라이버의 들어오는 데이터 변환

서버에서 들어오는 유니코드 텍스트 데이터는 유니코드로 직접 전달되므로 변환할 필요가 없습니다. 서버에서 들어오는 데이터 중 유니코드가 아닌 데이터는 데이터베이스 또는 열 수준에서 데이터의 코드 페이지에서 유니코드로 변환됩니다. JDBC 드라이버는 이러한 변환을 수행하기 위해 JVM(Java Virtual Machine) 변환 루틴을 사용합니다. 이러한 변환은 형식화된 모든 문자열 및 문자 스트림 getter 메서드에서 수행됩니다.

JVM이 데이터베이스의 데이터에 대해 적절한 코드 페이지 지원을 하지 않는 경우 JDBC 드라이버는 "XXX 코드 페이지는 Java 환경에서 지원되지 않습니다." 예외가 발생합니다.

드라이버의 나가는 데이터 변환

드라이버에서 서버로 나가는 문자 데이터는 유니코드로 시작합니다. 유니코드가 서버에 전달되고 여기서 대상 열이 유니코드 형식의 열(nchar, nvarchar, ntext)이 아닌 경우 적절한 변환이 수행됩니다. 이때 유니코드 텍스트는 문자열 및 문자 스트림을 위한 JDBC 드라이버 setter 및 updater 메서드에서 전달됩니다.

서식 지정 문제

날짜, 시간 및 통화의 경우 지역화된 데이터에 관한 모든 서식 지정은 Locale 개체와 Date, CalendarNumber 데이터 형식의 다양한 서식 지정 메서드를 사용하여 Java 언어 수준에서 수행됩니다. 드문 경우이기는 하지만 JDBC 드라이버가 지역화된 형식으로 로캘 구분 데이터를 함께 전달해야 하는 경우 기본 JVM 로캘과 함께 적절한 포맷터가 사용됩니다.

유니코드가 아닌 매개 변수

sendStringParametersAsUnicode 연결 문자열 속성을 설정하여 String 매개 변수를 유니코드가 아닌 형식으로 SQL Server에 전달하면 성능을 높일 수 있습니다. sendStringParametersAsUnicode의 기본 설정은 "true"이며, 이는 String 매개 변수를 유니코드로 보낸다는 뜻입니다. sendStringParametersAsUnicode가 "false"로 설정되어 있으면 해당 연결의 모든 String 매개 변수는 데이터베이스 기본 데이터 정렬을 사용하여 서버에 전달됩니다.

참고 항목

표시: