Contents
see ListMSSQL JDBC 드라이버 Java 8 지원 문제 해결
SQL Server JDBC 드라이버 버전 호환성 문제와 해결 방법입니다. "SQL Server version 8 is not supported" 오류 대응법을 다룹니다.
1. 오류 원인
오류 메시지:
"SQL Server version 8 is not supported by this driver"
원인:
- 구 버전 sqljdbc 드라이버 사용
- Java 8과 호환되지 않는 드라이버
- SQL Server 버전과 드라이버 불일치
2. JDBC 드라이버 버전 호환성
| 드라이버 | Java 버전 | SQL Server |
|---|---|---|
| mssql-jdbc 12.x | Java 8, 11, 17, 21 | 2014 이상 |
| mssql-jdbc 11.x | Java 8, 11, 17 | 2014 이상 |
| mssql-jdbc 9.x | Java 8, 11, 15 | 2012 이상 |
| sqljdbc4.jar | Java 6, 7 | 2005 이상 |
| sqljdbc.jar | Java 5 | 구버전 |
3. Maven 의존성 (권장)
<!-- Java 8 이상 호환 -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.4.2.jre8</version>
</dependency>
<!-- Java 11 이상인 경우 -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.4.2.jre11</version>
</dependency>
4. Gradle 의존성
// Java 8
implementation "com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre8"
// Java 11+
implementation "com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre11"
5. 수동 JAR 다운로드
다운로드 위치:
https://docs.microsoft.com/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server
파일명 예시:
- mssql-jdbc-12.4.2.jre8.jar (Java 8용)
- mssql-jdbc-12.4.2.jre11.jar (Java 11용)
6. 연결 문자열 예시
// 최신 드라이버
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydb;encrypt=true;trustServerCertificate=true";
// 드라이버 클래스
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 연결
Connection conn = DriverManager.getConnection(url, "user", "password");
7. Spring Boot 설정
# application.properties
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=mydb;encrypt=true;trustServerCertificate=true
spring.datasource.username=sa
spring.datasource.password=password
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
8. 문제 해결 체크리스트
1. Java 버전 확인
java -version
2. 현재 JDBC 드라이버 확인
- pom.xml 또는 build.gradle 확인
- lib 폴더 내 jar 파일 확인
3. 드라이버 업그레이드
- 구 sqljdbc4.jar 삭제
- mssql-jdbc-xx.jreN.jar로 교체
4. 빌드 도구 캐시 정리
mvn clean install
gradle clean build
주의사항
- jre8/jre11 suffix가 Java 버전에 맞아야 함
- SQL Server 2012 미만은 최신 드라이버 미지원
- encrypt=true 시 인증서 설정 필요할 수 있음
- Azure SQL은 최신 드라이버 필수