MySQL存储大数据报错的解决方法
比如我们在数据库里的某一列存储了一个大数据:这时会出现种种错误
下面以Mysql为例对这个错误进行解决:
Connection conn=JDBCUtils.geyConnection();
PreparedStatement ps = conn.prepareStament("insert into textdemo values(null,?,?)");
ps.setString(1,"大数据.txt");
File file = new File("读取的文件的名字.txt");
ps.setCharacterStream(2,new FileReader("file"),file.length());
ps.excuteUpdate();
解决方案:file.length()返回类型是long 但是setCharacterStream中如果要传入long型的数据 是从JDK1.6之后开始的
不幸的是,我们的MySql的驱动没有更新那么快,没有对这个方法进行实现,所以我们并不能用这个方法,所以需要强转为int。
但这是会抛出一个新的错误(不是异常),内存溢出Java heap space。此时在run的下拉箭头下面会有一个Run Configurations(10.5版本)
其他版本可能不叫这个,但是出现位置是一样的。点击Arguments在VM arguments(参数)下面写入-Xms64m(换行)-Xmx256m 搞定。
这时会出现一个新的异常,也就是包太大的异常。因为数据库和程序之间进行数据传输,以数据包进行传输。传输数据的最大值
大于数据包的最大值,也就是这个读取的文件的大小太大。这是需要修改数据库的配置,修改他的默认大小。打开my.ini(笔者用的5.0,相对纯净一点)
大多数人可能用的版本比这个高,里面没有my.ini。自行百度一下,对应的是哪一个文件。在port=3306下一行加入max_allowed_packet=64M即可
问题成功解决。因为修改了配置文件,记得重启数据库啊。
关于大数据LOB(Large Object):Text叫做大文本,二进制数据叫做Blob。Text是mysql中的叫法,Oracle中叫做Clob
MySQL存储大数据报错的解决方法相关推荐
- 导入sql文件报错:MySQL server has gone away 以及解决方法
项目场景: 导入sql文件报错:MySQL server has gone away 以及解决方法 问题描述: 在我们使用mysql导入大文件sql时可能会报MySQL server has gone ...
- mysql第二天无法连接_MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...
http://zeusami.iteye.com/blog/1112827 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.Commun ...
- 使用Navicat连接MySQL时出现2059报错的解决方法
使用Navicat连接MySQL时出现2059报错的解决方法 参考文章: (1)使用Navicat连接MySQL时出现2059报错的解决方法 (2)https://www.cnblogs.com/ir ...
- mysql adminer 导入csv_mysql导入csv的4种报错的解决方法
以此悼念我今天踩过的4个坑-- 坑一:local的错 报错: error 3948 (42000): loading local data is disabled; this must be enab ...
- kettle连接数据mysql查_Kettle连接MySQL报错的解决方法
使用Kettle报错的解决方法 1.当你在navicat上面测试数据库连接的时候可以看到数据库连接成功.而在Kettle上面连接同样的库的时候报出一大段错误出来,这时候是不是感觉有点懵逼了. 错误内容 ...
- mysql数据库表字段使用DESC等关键字报错及解决方法
mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...
- mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
MySql报错Table mysql.plugin doesn't exist的解决方法 一般产生原因是手工更改my.ini的数据库文件存放地址导致的 mysql服务启动时候找不到内置数据库" ...
- MySQL 安装报错的解决方法
MySQL 安装报错的解决方法 前言 mysql 使用的是官网下载的安装包,mysql-installer-community-8.0.25.0.msi ,第一次安装时很顺利,因为某些原因要卸载重新安 ...
- kettle连接mysql一直报错_Kettle连接MySQL报错的解决方法
使用Kettle报错的解决方法 1.当你在navicat上面测试数据库连接的时候可以看到数据库连接成功.而在Kettle上面连接同样的库的时候报出一大段错误出来,这时候是不是感觉有点懵逼了. 错误内容 ...
最新文章
- CVPR 2021 | MI-AOD: 少量样本实现高检测性能
- 40年产权的商业地产,个人投资者决不能碰
- Angular 4.x Events Bubbling
- WIN32 多线程吃字母练习
- java 动态添加定时器_Spring整合Quartz实现动态定时器的示例代码
- web 服务器被配置为不列出此目录的内容。_三级网络技术考前选择题12—WWW服务器...
- 考不上本科就是低智商?用python爬3000条数据狠打脸
- 协同OA融入ERP 高端应用助企业升级转型
- 剑指Offer:跳台阶
- IT界有哪些书是必看的?
- Chapter 19 Time-varying Treatments
- 咋阻止别人用计算机监控我家,我想用我家里的电脑控制办公室电脑的打印机怎么处理?...
- vim的使用以及vim插件的配置
- 写一个strncpy(char *dest, const char *src, size_t cpy_lent) 的函数
- vue3循环遍历图片渲染无效果
- Android下拉列表框
- Spring Boot缓存实战 默认Cache(ConcurrentMapCacheManager)
- R语言ggplot2优雅的绘制环状云雨图
- 整理任正非思想:要建立一个均衡的平台-1995
- 关于深圳户口从集体户口迁入朋友家庭户口的相关手续总结