比如我们在数据库里的某一列存储了一个大数据:这时会出现种种错误
下面以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存储大数据报错的解决方法相关推荐

  1. 导入sql文件报错:MySQL server has gone away 以及解决方法

    项目场景: 导入sql文件报错:MySQL server has gone away 以及解决方法 问题描述: 在我们使用mysql导入大文件sql时可能会报MySQL server has gone ...

  2. mysql第二天无法连接_MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...

    http://zeusami.iteye.com/blog/1112827 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.Commun ...

  3. 使用Navicat连接MySQL时出现2059报错的解决方法

    使用Navicat连接MySQL时出现2059报错的解决方法 参考文章: (1)使用Navicat连接MySQL时出现2059报错的解决方法 (2)https://www.cnblogs.com/ir ...

  4. mysql adminer 导入csv_mysql导入csv的4种报错的解决方法

    以此悼念我今天踩过的4个坑-- 坑一:local的错 报错: error 3948 (42000): loading local data is disabled; this must be enab ...

  5. kettle连接数据mysql查_Kettle连接MySQL报错的解决方法

    使用Kettle报错的解决方法 1.当你在navicat上面测试数据库连接的时候可以看到数据库连接成功.而在Kettle上面连接同样的库的时候报出一大段错误出来,这时候是不是感觉有点懵逼了. 错误内容 ...

  6. mysql数据库表字段使用DESC等关键字报错及解决方法

    mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...

  7. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法

    MySql报错Table mysql.plugin doesn't exist的解决方法 一般产生原因是手工更改my.ini的数据库文件存放地址导致的 mysql服务启动时候找不到内置数据库" ...

  8. MySQL 安装报错的解决方法

    MySQL 安装报错的解决方法 前言 mysql 使用的是官网下载的安装包,mysql-installer-community-8.0.25.0.msi ,第一次安装时很顺利,因为某些原因要卸载重新安 ...

  9. kettle连接mysql一直报错_Kettle连接MySQL报错的解决方法

    使用Kettle报错的解决方法 1.当你在navicat上面测试数据库连接的时候可以看到数据库连接成功.而在Kettle上面连接同样的库的时候报出一大段错误出来,这时候是不是感觉有点懵逼了. 错误内容 ...

最新文章

  1. CVPR 2021 | MI-AOD: 少量样本实现高检测性能
  2. 40年产权的商业地产,个人投资者决不能碰
  3. Angular 4.x Events Bubbling
  4. WIN32 多线程吃字母练习
  5. java 动态添加定时器_Spring整合Quartz实现动态定时器的示例代码
  6. web 服务器被配置为不列出此目录的内容。_三级网络技术考前选择题12—WWW服务器...
  7. 考不上本科就是低智商?用python爬3000条数据狠打脸
  8. 协同OA融入ERP 高端应用助企业升级转型
  9. 剑指Offer:跳台阶
  10. IT界有哪些书是必看的?
  11. Chapter 19 Time-varying Treatments
  12. 咋阻止别人用计算机监控我家,我想用我家里的电脑控制办公室电脑的打印机怎么处理?...
  13. vim的使用以及vim插件的配置
  14. 写一个strncpy(char *dest, const char *src, size_t cpy_lent) 的函数
  15. vue3循环遍历图片渲染无效果
  16. Android下拉列表框
  17. Spring Boot缓存实战 默认Cache(ConcurrentMapCacheManager)
  18. R语言ggplot2优雅的绘制环状云雨图
  19. 整理任正非思想:要建立一个均衡的平台-1995
  20. 关于深圳户口从集体户口迁入朋友家庭户口的相关手续总结

热门文章

  1. tinyrenderer学习总结(3)
  2. E+H音叉液位开关FTL31-AA4M2AAWBJ
  3. 从键盘输入 5 个学生姓名,利用字符串函数,找出长度最长的那个并输出。
  4. 《JavaScript权威指南第7版》前言
  5. windows 屏幕分辩率多显示器问题
  6. 有关Laplace的部分分式展开法_20151217
  7. 基于智慧磐石理念下的新型智能装备管理系统
  8. ctfshow---sql注入(214-253)
  9. 诺基亚智能手机E60精彩屏幕截图
  10. 互动能量杯横空出世,对决中国瓶装水行业