Unknown error 1146的解决办法:

本文针对MyBatis与SpringBoot整合时出现的未知错误1146问题进行详细分析,主要原因是表名大小写不一致导致的数据库查询失败。
在mybatis与springboot整合的项目里面,报如下错误:
2018-06-03 15:16:50.148 ERROR 20777 --- [-nio-80-exec-16] o.s.boot.web.support.ErrorPageFilter     : Forwarding to error page from request [/blogfirst] due to exception [
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
### The error may exist in file [/home/tomcat/apache-tomcat-8.5.8/webapps/myDemo/WEB-INF/classes/mapper/BlogMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT * FROM ARTICLE ORDER BY create_time DESC
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146]

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
### The error may exist in file [/home/tomcat/apache-tomcat-8.5.8/webapps/myDemo/WEB-INF/classes/mapper/BlogMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT * FROM ARTICLE ORDER BY create_time DESC
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
	

原因分析:

在 MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库和表命名的大小写敏感。
数据库和表名在 Windows 中是大小写
不敏感的,
而在大多数类型的 Unix/Linux 系统中是大小写敏感的。
若sql语句的表名称大小写有误,则会报错。

如数据库表名为user


linux中,若写为select * from USER


则会报这个错误。

`unknown error: net::ERR_NAME_NOT_RESOLVED` 错误通常表示浏览器无法解析指定的域名,即域名系统(DNS)无法将域名转换为对应的 IP 地址。以下是一些可能的解决办法: #### 1. 检查网络连接 确保网络连接正常,可以尝试访问其他网站来验证。如果网络连接不稳定或存在问题,可能会导致 DNS 解析失败。 #### 2. 检查域名是否有效 `meta1 - meta100` 这些可能并不是真实存在的域名,需要确认这些域名是否正确且可访问。可以手动在浏览器中尝试访问这些网址,看是否能正常打开。 #### 3. 更改 DNS 服务器 有时 DNS 服务器可能出现问题,可以尝试更改 DNS 服务器。例如,使用公共的 DNS 服务器,如 Google 的 `8.8.8.8` 和 `8.8.4.4`,或者阿里云的 `223.5.5.5` 和 `223.6.6.6`。 #### 4. 代码中添加异常处理 在代码中添加异常处理,当出现 `ERR_NAME_NOT_RESOLVED` 错误时,可以进行相应的处理,如跳过当前网址,继续访问下一个网址。 以下是添加异常处理后的代码示例: ```python from selenium import webdriver from selenium.webdriver.chrome.options import Options import time from selenium.common.exceptions import WebDriverException # 初始化无头浏览器配置 opt = Options() opt.add_argument('--headless') opt.add_argument('--disable-gpu') # 创建浏览器对象 web = webdriver.Chrome(options=opt) # 定义城市列表 cities = ["北京", "上海"] # 循环生成meta1到meta100的网址并添加城市名称进行访问 for i in range(1, 101): base_url = f"http://meta{i}.com" for city in cities: full_url = base_url + city try: web.get(full_url) # 等待一段时间,可根据实际情况调整 time.sleep(5) except WebDriverException as e: if "ERR_NAME_NOT_RESOLVED" in str(e): print(f"无法解析域名: {full_url},跳过该网址") else: print(f"访问 {full_url} 时出现其他错误: {e}") # 关闭浏览器 web.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值