MySQL 插入二进制数据的问题

hdj_myth 2011-11-08 04:41:11

import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class test {
public static void main(String[] args) {
create();
}

static void create(){
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
conn = JDBCUtils.getConnection();
String sql = "insert into blob(data) values(?)";
ps = conn.prepareStatement(sql);
File file = new File("02.jpg");
InputStream in = new BufferedInputStream(new FileInputStream(file));
ps.setBinaryStream(1, in, file.length());

int i = ps.executeUpdate();
in.close();
System.out.println(i);
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.free(rs, ps, conn);
}
}
}


报错信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'blob(data) values(_binary'??\0JFIF\0\0`\0`\0\0?\0C\0
' at line 1
Mysql和Eclipse的字符集都是“GBK”
问量出在哪里呢?
...全文
171 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdj_myth 2011-11-08
  • 打赏
  • 举报
回复
补充:插入字符类型的数据没有问题
内容概要:本文介绍了PCIe 3.x至4.0版本在物理层(PHY)逻辑层面的关键技术演进,重点包括从8b/10b编码向128b/130b编码的转变,以提升带宽效率并降低开销。新编码机制通过同步头与加扰技术实现数据块对齐、帧定界和边沿密度控制,同时引入发射端均衡(Tx Equalization)和多阶段训练流程,以应对高速信道下的信号完整性挑战。文档还详细阐述了测试性功能如合规性模式、环回机制以及有序集(Ordered Sets)的设计用途,并前瞻性地预览了PCIe 4.0支持16GT/s速率的技术方向,包括继续采用128b/130b编码、增强均衡流程和使用Retimer扩展通道能力。; 适合人群:从事高速接口设计、芯片开发或系统架构的硬件工程师,特别是参与PCIe协议实现、物理层验证及信号完整性优化的研发人员。; 使用场景及目标:①理解PCIe 3.0中128b/130b编码原理及其相较于8b/10b的优势;②掌握发射端自适应均衡机制与链路训练流程;③为开发兼容PCIe 4.0的产品提供前瞻技术参考;④用于硬件测试与合规性验证方案设计。; 阅读建议:此资料技术深度较高,建议结合PCIe Base Specification进行对照学习,重点关注编码结构、有序集格式、均衡状态机及错误恢复机制,在实际项目中可作为物理层设计与调试的重要参考依据。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧