如何让SchemaSpy适配SQL Server 2016 (v13) 版本正常运行
SchemaSpy连接SQL Server 2016 JDBC驱动缺失问题解决方案
核心原因
你2017年使用的旧版本SQL Server JDBC驱动不支持SQL Server 2016(v13),同时旧版本SchemaSpy内置的SQL Server适配配置也不兼容高版本数据库,按以下步骤操作即可解决:
操作步骤
1. 选择适配的JDBC驱动
选用Microsoft官方SQL Server JDBC驱动,7.0及以上版本均兼容SQL Server 2016,需匹配你本地运行环境的JDK版本:
- JDK 8及以上:可使用
mssql-jdbc-12.4.2.jre8.jar,或更高版本中对应你JDK版本的jar包(如jre11、jre17对应版本) - 低于JDK 8的运行环境:最低选用
mssql-jdbc-7.4.1.jre8.jar,可兼容SQL Server 2016
2. 配置驱动与启动参数
- 将下载好的JDBC jar包放入SchemaSpy同级目录下的
drivers文件夹中,无该文件夹可手动新建 - 启动时使用适配高版本SQL Server的参数模板,参考命令如下:
java -jar schemaspy.jar -t mssql16 -dp ./drivers/ -host 数据库实例地址 -port 1433 -db 目标数据库名 -u 数据库用户名 -p 数据库密码
其中-t mssql16是SchemaSpy专为SQL Server 2012及以上版本提供的适配配置,不要使用旧版本的mssql参数,避免兼容性报错。
异常排查
- 若仍提示找不到驱动,检查
-dp参数的路径是否正确指向了存放JDBC jar包的目录 - 确认目标SQL Server实例已开启TCP/IP连接,默认1433端口已开放,若为命名实例需在host参数后追加
\\实例名 - 若你使用的仍是2017年的旧版SchemaSpy,建议先升级到最新稳定版,旧版本无内置
mssql16适配配置,无法兼容高版本SQL Server
内容的提问来源于stack exchange,提问作者Dean-O
相关产品推荐
相关产品推荐

