关于jdbc常见错误

2023-10-27

版本问题

如果运行时控制台报错

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

报这个错误很大的可能是数据库版本和jdbc-jar包版本不匹配,可以检查一下

如果运行时控制台报以下错误

Thu May 06 10:27:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Exception in thread "main" java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
	at com.day1.jdbc_bacics.JdbcDemo1.main(JdbcDemo1.java:14)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)
	at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)
	at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2201)
	at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2225)
	at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1391)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:993)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)
	... 6 more

很大可能是url写错了

jdbc5.x url写法:jdbc:mysql://localhost:3306/数据库名称

jdbc8.x url写法 :jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC

  1. useUnicode=true&characterEncoding=utf-8 指定字符编码,常用字符编码有:
    1. gbk
    2. utf-8
  2. useSSL=false 指明是否进行SSL连接
  3. serverTimezone=“指定时区” 常用时区介绍:
    1. Asia/Shanghai 上海时间
    2. GMT%2BB 北京时间东八区
    3. UTC 全球标准时间比北京时间晚8个小时

其它错误

如果你看到以下错误信息,那么账号有可能写错了

Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

如果你看到以下错误信息,那么密码可能写错了

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

如果报错信息如下,那么请检查url

Exception in thread "main" com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

 

扩展小知识

jdbc 5.x版本后注册驱动可以省略

注册驱动版本问题

jdbc 5.x注册驱动 : com.mysql.jdbc.Driver

jdbc 8.x注册驱动:com.mysql.cj.jdbc.Driver

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于jdbc常见错误 的相关文章

  • 计算 mysql 数据库行数的最佳方法

    在遇到 mysql 查询加载时间慢的问题后 我现在正在寻找计算行数的最佳方法 我曾经愚蠢地使用过mysql num rows 函数来做到这一点 现在意识到这是最糟糕的方法 我实际上正在制作一个分页来用 PHP 制作页面 我找到了几种计算行数
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了
  • 在上下文中提取搜索字符串

    我正在尝试执行 MySQL 查询 在上下文中提取搜索字符串 因此 如果搜索是 mysql 我想从 body 列返回类似的内容 下载后只需几分钟MySQL安装程序即可使用 这就是我现在得到的 但它不起作用 因为它只是从正文字段中获取前 20
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • 如何将 MySQL 查询输出保存到 Excel 或 .txt 文件? [复制]

    这个问题在这里已经有答案了 如何将 MySQL 查询的输出保存到 MS Excel 工作表 即使只能将数据存储在 txt文件 就可以了 From 将 MySQL 查询结果保存到文本或 CSV 文件中 http www tech recipe
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • MySQL - 从数字列表中选择在表的 id 字段中没有对应项的数字

    我有一个数字列表 例如 2 4 5 6 7 我有一个表 foos 带有 foos ID 包括 1 2 3 4 8 9 我想获取我的号码列表 并在我的表的 ID 字段中找到那些没有对应项的号码 实现此目的的一种方法是创建一个表格栏 在 ID
  • 将IP保存到数据库中

    当用户登录时 我想将他们的 IP 保存在数据库中 我该怎么做呢 MySQL 字段最适合使用哪种类型 获取IP的PHP代码是什么样的 我正在考虑将其用作登录 会话内容的额外安全功能 我正在考虑使用用户现在拥有的 IP 检查用户从数据库登录的
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in

随机推荐

  • 上传拍照的图片base64存储

    上传base64图片功能 这里只放了上传图片的实现类代码 业务逻辑 新增数据时 应该是先上传图片 然后把生产的uuid返回给前台 前台在新增数据时把图片id集合传给后台 拍照图片上传 param resourceChangePicReq 传
  • 网络编程之IO复用机制(多路IO转接)之select实现IO复用的思路02

    1 select实现IO复用的思路02 下面的都是伪代码 主要讲究思路 1 lfd socket 2 bind 3 listen 4 将lfd添加到select的读集合用于传入 借助内核帮我们监听事件 而不直接调用accept函数监听 为了
  • jmeter生成接口测试报告

    一 安装Ant配置 1 下载地址 https ant apache org bindownload cgi 2 安装Ant 下载解压 3 配置环境变量 新建变量ANT HOME 值为D ant apache ant 1 10 12 系统变量
  • 机器学习、深度学习、图像检索 的一些优秀博客

    机器学习 深度学习 图像检索 的一些优秀博客 1 http www cnblogs com ooon 2 http yongyuan name blog
  • 怎么向OpenHarmony的Git仓推送代码

    1 Git设置 git config global user name yourname 随意 git config global user email your email address DCO验证的邮箱 设置记住密码 git conf
  • React Hooks 在使用上有哪些限制?

    React Hooks 的限制主要有两条 不要在循环 条件或嵌套函数中调用 Hook 在 React 的函数组件中调用 Hook 那为什么会有这样的限制呢 就得从 Hooks 的设计说起 Hooks 的设计初衷是为了改进 React 组件的
  • 【docker-compose】从构建镜像到一键运行Java项目

    先来思考个问题 新机器跑一个常规springboot项目要几步 1 下载并配置java环境 mysql环境 redis环境 6步 2 初始化mysql数据库 导入sql文件 2步 3 下载jar包 启动 2步 大概分为零零碎碎的十多步 每块
  • EasyExcel使用教程-实现页面中批量导入导出数据-详解

    EasyExcel介绍 EasyExcel是阿里巴巴开源的一个excel处理框架 以使用简单 节省内存著称 EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中 而是从磁盘上一行行读取数据
  • PhpStorm 部署web到apache 教程

    1 Edit Configrations 进去之后点server 因为是本地部署 所以写localhost就可以 其他不用动 之后下面有一个start Url 意思就是你点击运行时浏览器要打开的那个界面 我们写项目名称就可以 2 Tool
  • iframe跨域没有权限_浅谈跨域威胁与安全

    WEB前端中最常见的两种安全风险 XSS与CSRF XSS 即跨站脚本攻击 CSRF即跨站请求伪造 两者属于跨域安全攻击 对于常见的XSS以及CSRF在此不多谈论 仅谈论一些不太常见的跨域技术以及安全威胁 一 域 域 即域名对应的网站 不同
  • 阿里云服务器和轻量云服务器对比有什么区别?

    阿里云轻量应用服务器和云服务器ECS有什么区别 ECS是专业级云服务器 轻量应用服务器是轻量级服务器 轻量服务器使用门槛更低 适合个人开发者或中小企业新手使用 可视化运维 云服务器ECS适合集群类 高可用 高容灾企业级架构 使用相对于轻量更
  • 详细解析STM32的时钟系统

    STM32的时钟系统 一 时钟系统框图 1 1 STM32F10x 1 2 STM32F40x 二 时钟系统 2 1 STM32F10x时钟源 HSI RC振荡器 频率8MHz 精度不高HSE 外接石英 陶瓷晶振 4MHz 16MHz LS
  • java的作用域

    文章目录 作用域 细节 注意 作用域 在java中 主要变量就是成员变量和局部变量 一般局部变量指的是成员方法中定义的变量 作用域的分为全局变量和局部变量 全局变量的作用域在整个类体 除了属性之外的都是局部变量 作用域只能用于某块 全局变量
  • 软件测试质量度量指标

    软件测试质量度量指标 度量模块 度量指标 统计方法 度量说明 产品完成度 1 需求通过率 已通过需求 已计划需求 体现需求的完成度 也常可以统计为 测试用例通过数 计划的测试用例总数 即默认用例覆盖是完全的 2 功能点通过率 已通过功能点
  • 安装驱动时出现“INF中的服务安装段落无效”

    今天安装ti开发板的驱动 在安装虚拟串口时出现 INF中的服务安装段落无效 以致驱动未安装成功 接下来我就说说我的解决过程 因为提示的是 inf中的 了解驱动的就知道有个扩展名为inf的文件 于是准备 打开驱动目录中的inf文件 如下图 有
  • 【延期至12月】2022年网络安全国际研讨会(CSW2022)

    延期至12月 2022年网络安全国际研讨会 CSW2022 重要信息 会议网址 www cybersecurityworkshop org 会议时间 2022年12月16 18日 召开地点 杭州 截稿时间 2022年10月20日 录用通知
  • 商业不是战争

    我在一个大客户那里工作的时候经常想这样一件事 他们 以及国内很多 IT或者非IT 企业 讲军事化管理 讲服从命令 为什么我总觉得这事不对 到底不对在什么地方 我想出来的结论是 商业不是战争 第一 商业的特点是negotiatable 战争是
  • 单链表中间值(经典案例,5分钟解决)

    一 题目描述 给定一个单链表 但不知该表的大小 现要求只遍历一次 找出位于单链表中间的值 输入 1 8 7 6 4 5 3 1 输出 6 样例输入 Copy 1 2 4 8 9 6 3 1 0 样例输出 Copy 9 二 实现方法 普通方法
  • 创新零售,京东重新答题?

    继新一轮组织架构调整后 京东从低价到下沉动作不断 新成立的创新零售部在京东老将闫小兵的带领下悄然完成了整合 近日 京喜拼拼已改名为京东拼拼 与七鲜 前置仓等业务共同承载起京东线上线下加速融合的梦想 同时 拼拼的更名 也被外界解读为京东重新点
  • 关于jdbc常见错误

    版本问题 如果运行时控制台报错 Exception in thread main com mysql jdbc exceptions jdbc4 MySQLNonTransientConnectionException Could not