Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java blob数据部分插入数据库_Java_Oracle_Blob - Fatal编程技术网

Java blob数据部分插入数据库

Java blob数据部分插入数据库,java,oracle,blob,Java,Oracle,Blob,当我将blob数据插入Oracle数据库时,它会部分插入。Iam使用以下代码进行插入 oracle.sql.BLOB newBlob =oracle.sql.BLOB.createTemporary(conn, false, oracle.sql.BLOB.DURATION_SESSION); newBlob.putBytes(1, str.getBytes()); ps.setBlob(1, newBlob); 我通过查询数据并将其转换为jpeg图像来检查是否插入了数据,有时会得到部分图像。

当我将
blob
数据插入Oracle数据库时,它会部分插入。Iam使用以下代码进行插入

oracle.sql.BLOB newBlob =oracle.sql.BLOB.createTemporary(conn, false, oracle.sql.BLOB.DURATION_SESSION);
newBlob.putBytes(1, str.getBytes());
ps.setBlob(1, newBlob);

我通过查询数据并将其转换为jpeg图像来检查是否插入了数据,有时会得到部分图像。图像的其余部分是灰色的。大多数时候,我都能完美地获得完整的图像。部分插入的原因可能是什么

您正在使用默认编码将字符串的字节存储在BLOB中。这至少在以下一个方面是错误的:

  • 如果要存储字符数据,请使用CLOB
  • 如果存储的是二进制数据,不要将其放入字符串中

既然你说你在处理JPEG,我想说字符串转换就是你遇到问题的地方。试图在一个Java字符串(处理字符)中存储一组字节,然后将其转换回字节,这是一个坏主意。使用
字节[]

您正在使用默认编码将字符串的字节存储在BLOB中。这至少在以下一个方面是错误的:

  • 如果要存储字符数据,请使用CLOB
  • 如果存储的是二进制数据,不要将其放入字符串中

既然你说你在处理JPEG,我想说字符串转换就是你遇到问题的地方。试图在一个Java字符串(处理字符)中存储一组字节,然后将其转换回字节,这是一个坏主意。使用
字节[]

什么是
str
?你是怎么提取的?我不确定问题是在插入、存储、检索还是其他方面。什么是
str
?你是怎么提取的?我不确定问题是否出在插入、存储、检索或其他方面。
str
可能是一个输入流,而不是字符串:)@VincentMalgrat-除了
java.io.InputStream
没有
getBytes()
方法之外。OP的症状听起来与使用字符串保存字节时发生的情况一模一样。
str
可能是一个输入流,而不是字符串:)@VincentMalgrat-除了
java.io.InputStream
没有
getBytes()
方法之外。OP的症状听起来与使用字符串保存字节时发生的情况一模一样。