多种方法解决java.sql.SQLSyntaxErrorException: Unknown database ‘xxx‘的错误

文章目录

  • 1. 复现错误
  • 2. 分析错误
  • 3. 解决错误
  • 4. 解决错误的其他方法

1. 复现错误

今天尝试创建test2的数据库,却报出如下错误:

在这里插入图片描述

java.sql.SQLSyntaxErrorException: Unknown database 'test2'at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:247)at com.test.cloud.utils.DatasourceUtil.getByDriverManager(DatasourceUtil.java:192)at com.test.cloud.utils.DatasourceUtil.getConnection(DatasourceUtil.java:135)at com.test.cloud.utils.DatasourceUtil.createDb(DatasourceUtil.java:59)at com.test.cloud.controller.DatasourceController.createDatasource(DatasourceController.java:70)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)......

Unknown database 'test2'

为什么报出未知数据库test2的错误呢?

接下来,我便详细分析此错误。

2. 分析错误

正赶上最近ChatGPT很火,于是借助ChatGPT回复我的问题:

在这里插入图片描述

java.sql.SQLSyntaxErrorException: Unknown database ‘xxx’

This error suggests that the database specified does not exist. You will need to check the database name, spelling and case sensitivity. If the database does not exist you may need to create it. and case sensitivity. If the database does not exist you may need to create it.

ChatGPT给出英文的回复,我们不妨翻译成中文,如下所示:

此错误表明指定的数据库不存在。您需要检查数据库名称、拼写和区分大小写。如果数据库不存在,则可能需要创建它。和区分大小写。如果数据库不存在,则可能需要创建它。

ChatGPT的回复来看,有以下2种情况导致:

  1. 数据库不存在

  2. 数据库设置了大小写

然而,我的目的是创建数据库,数据库自然不存在,况且我没有区分大小写。

看来,ChatGPT没有解决我的问题,我只能通过断点的方式来解决了,如下图所示:

在这里插入图片描述

通过断点可以清楚地看到,连接数据库的url有问题,如下所示:

jdbc:mysql://127.0.0.1:3306/test2?serverTimezone=GMT%2B8&useSSL=false

我还未创建test2数据库,故3306后不能加上/test2

3. 解决错误

由于公司源码不能对外暴露,这是技术人员最基本的职业素养,因而,我写如下测试代码:

@Test
public void testJdbc() {String url = "jdbc:mysql://127.0.0.1:3306?serverTimezone=GMT%2B8&useSSL=false";String username = "root";String password = "123456";Connection connection = null;PreparedStatement preparedStatement = null;try {connection = DriverManager.getConnection(url, username, password);preparedStatement = connection.prepareStatement("CREATE DATABASE test2");int i = preparedStatement.executeUpdate();if (i > 0) {System.out.println("创建成功");}} catch (SQLException e) {System.out.println("创建失败");e.printStackTrace();} finally {//不论什么时候,都要关闭,否则会占用资源try {if (preparedStatement != null) {preparedStatement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}
}

执行结果如下图所示:

在这里插入图片描述

4. 解决错误的其他方法

如果我的解决错误方法,无法解决你的问题,可以尝试用如下方法解决你的错误。

  1. 检查配置文件中的数据库名是否错误

比如,我的数据库名为test,而我不小心写成了test1,如下所示:

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://127.0.0.1:3306/test1?serverTimezone=GMT%2B8&useSSL=false

这样,自然就报出Unknown database ‘test1‘

  1. 检查数据库是否设置了大小写

比如,我的数据库名为TEST,而我不小心写成了test,如下所示:

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useSSL=false

这样,自然就报出Unknown database ‘test‘

假设,你设置了数据库的大小写,可以参考这篇博文解决:Windows和linux下分别区分mysql大小写的问题

总之一句话,你的代码无法找到对应的数据库,请你检查你代码哪里出现了问题。

  1. 检查数据库是否存在

若你的数据库不存在,而你配置文件中添加了数据库,这样自然就报错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30892.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成年人才能看懂的 80 幅图!

推荐阅读&#xff1a;成年男女欲望过剩的瞬间top7 下面这80副画 让你看清这个世界的真相&#xff01; 1 自弃者扶不起 自强者打不倒 2 人人都活在假象里 3 最大的监狱是思维监狱 4 永远不要自毁机会和前途 5 绝大部分人都是巨婴 6 我们吃的大腹便便 却又营养不良 7 平等并不意味…

AI写剧本炸场戏剧节!DeepMind出品,马斯克看了直夸,网友看到接口悟了

文&#xff5c;羿阁 萧箫 发自 凹非寺源&#xff5c;量子位 OpenAI的ChatGPT大火后&#xff0c;DeepMind终于也坐不住了&#xff01; 这次&#xff0c;他们推出一款名为“Dramatron”的新AI&#xff0c;用上它人人都可以变身编剧或作家。 只需给出一句话大纲&#xff0c;Dramat…

被chatGPT割了一块钱韭菜

大家好&#xff0c;才是真的好。 chatGPT热度一直上升&#xff0c;让我萌生了一个胆大而创新的想法&#xff0c; 把chatGPT嵌入到Notes客户机中来玩。 考虑到我已经下载了一个chatGPT的Notes应用&#xff08;请见《ChatGPT APIs for HCL DOMINO》&#xff09;&#xff0c;想着…

advisor纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真

advisor纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真、经济性仿真、续航里程仿真&#xff1b;基于advisor的后驱纯电动汽车、基于advisor的四驱轮毂电机电动汽车、 基于advisor的混合动力汽车、混合动力客车/公交、串联混合动力、并联混合动力汽车动力性仿真…

FSEC大学生电动方程式赛车电气系统设计

摘 要 近年来新能源汽车在中国掀起了一股热潮&#xff0c;而电动方程式赛车也因此得到了更广泛的关注。电控系统是电动方程式赛车的核心&#xff0c;涉及嵌入式、传感器、电力拖动、无线数据传输等多项技术。本文以Attacker赛车队的第二代电动方程式赛车为研究对象&#xff…

考虑不同充电需求的电动汽车协调充电调度方法 提出了一种电动汽车(EV)的协调充电调度方法

考虑不同充电需求的电动汽车协调充电调度方法 代码复现&#xff0c;详细注释9 1、提出了一种电动汽车&#xff08;EV&#xff09;的协调充电调度方法。 2、在所提出的方法中估计了电动汽车用户充电需求的紧迫性。 3、根据充电需求的紧迫性为电动汽车选择最佳充电模式。 4、该模…

运用蒙特卡洛法模拟电动汽车常规充电、快速充电、更换电池充电曲线及对日负荷曲线的影响

运用蒙特卡洛法模拟电动汽车常规充电、快速充电、更换电池充电曲线及对日负荷曲线的影响&#xff1b;无序充电、受控充电、受控充放电曲线及对日负荷曲线的影响 ID:1950679239559581唏嘘buling

城市轨道交通线路进站客流控制与列车跳停协同优化的Q-learning方法

1.文章信息 《Q-learning approach to coordinated optimization of passenger inflow control with train skip-stopping on a urban rail transit line》是2019年发表在Computers & Industrial Engineering上的一篇文章。 2.摘要 在城市轨道交通(URT)线路过于拥挤的情况下…

文献阅读——出租车出行预测:Real-Time Taxi-Passenger Prediction with L-CNN

北邮牛琨老师的大作*《Real-Time Taxi-Passenger Prediction with L-CNN》* 写一下自己的收获。 本文是结合CNN与RNN&#xff08;LSTM&#xff09;来进行出行预测。 一、 基本思路 CNN提取空间特征&#xff0c;LSTM提取时间特征。 划分时间间隔&#xff08;预测最小单元&…

名帖237 赵雍 行书《彰南八咏诗》

《中国书法名帖目录》 赵雍《彰南八咏诗》页&#xff0c;纸本&#xff0c;行书。北京故宫博物院藏。 赵雍《彰南八咏诗》 钤“仲穆”印。卷前为执柔道人篆书“彰南八咏”&#xff0c;卷后有刘麟、顾应祥题诗。本幅鉴藏印有“陈子受家珍藏”、“子受秘玩”等3方。 赵雍书法结…

每日习字|2020-05-30

西塞山前白鹭飞&#xff0c;桃花流水鳜鱼肥。青箬笠&#xff0c;绿蓑衣&#xff0c;斜风细雨不须归。 毕竟西湖六月中&#xff0c;风光不与四时同。接天莲叶无穷碧&#xff0c;映日荷花别样红。 故人西辞黄鹤楼&#xff0c;烟花三月下扬州&#xff0c;孤帆远影碧空尽&#xff0…

徽州臭鳜鱼渐成“网红年货”

钟少华品尝臭鳜鱼 江伟 摄 中新网黄山1月24日电 (余皓 江伟 汪娜)臭鳜鱼&#xff0c;是中国八大传统菜系之一——徽菜的代表作&#xff0c;距今已有200多年历史。徽州人用腌制和发酵的方法&#xff0c;将鳜鱼做出了独特鲜美的味道。春节将近&#xff0c;作者来到安徽黄山&…

Python 列表介绍与使用方法

Python 列表介绍与使用方法 1. 序列&#xff08;sequence&#xff09;1.1 基本概念1.2 序列的分类 2. 列表(list)2.1 列表的使用2.2 切片 3. 通用操作4. 修改列表5. 列表的方法6. 遍历列表6.1 for循环6.2 range(start, stop[, step]) 1. 序列&#xff08;sequence&#xff09; …

web前端期末大作业——开心旅游网站设计与实现(HTML+CSS+JavaScript)

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

(杂谈)世界上本没什么prompt,有的只是加权平均——关于NLP中embedding的一点思考

&#xff08;杂谈&#xff09;世界上本没什么prompt&#xff0c;有的只是加权平均——关于NLP中embedding的一点思考 0. 写在前面1. 问题的提出2. 备受嫌弃的NSP&#xff0c;为什么效果不佳2. 比句子更小的片段——Span Bert3. 更加纯粹的表示方法——PURE4. 风光无限的prompt&…

大模型已涌现社会行为,斯坦福爆火论文打造《西部世界》雏形

源&#xff5c;机器之心 《西部世界》的游戏逐渐走进现实。 我们能否创造一个世界&#xff1f;在那个世界里&#xff0c;机器人能够像人类一样生活、工作、社交&#xff0c;去复刻人类社会的方方面面。这种想象&#xff0c;曾在影视作品《西部世界》的设定中被完美地还原出来&a…

清华ChatGLM-6B本地GPU推理部署

目录 1 简介 2 硬件需求 3 Demo和模型下载 3.1 安装Git LFS 3.2 Demo下载 3.3 模型下载 3.4 文件目录 4 环境安装 5 运行 5.1 FP16 5.2 量化 6 演示 1 简介 ChatGLM-6B是一个开源的、支持中英双语的对话语言模型&#xff0c;基于General Language Model&#xff0…

ChatGLM2-6B本地部署,人人都可以用上LLM大语言模型!

文章目录 介绍使用方式硬件需求环境安装仓库下载模型下载环境安装安装三方库代码调用从本地加载模型 Demo演示命令行 DemoAPI DemoOpenAI 格式的流式 API Demo基于 Streamlit 的网页版 demo 低成本部署相关问题No module named ‘readline’解决方法 module ‘collections’ ha…

[VScode] 嵌入式软件开发必备插件

文章目录 1. C/C 【c/c智能提示、调试和代码浏览】2. C Intellisense 【借助GNU Global标签的c/c智能提示】3. Bracket Pair Colorizer 【一个可定制的扩展为匹配括号着色 】4. Chinese (Simplified) 【中文语言包扩展(简体) 】5. GBKtoUTF8 【GBK到utf8】6. hexdump for VSCod…

chatgpt赋能python:Python在SEO中的利与弊

Python在SEO中的利与弊 引言 Python是一种高级编程语言&#xff0c;因其简洁、易于学习和应用广泛而受到全球程序员的青睐。然而&#xff0c;在SEO领域中&#xff0c;Python通常被认为有黑和白两面性。本文将围绕这个话题展开探讨。 Python的优点 简洁易学 Python拥有直观…