我想要实现读取数据库中的blob字段数据转成String保存,使用 Blob.getBytes(long,int)的时候遇到问题了,错误是:
Caused by: java.sql.SQLException: 调用中的无效参数: getBytes() at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.sql.BLOB.getBytes(BLOB.java:179) at sun.jdbc.rowset.SerialBlob.(SerialBlob.java:21) at sun.jdbc.rowset.CachedRowSet.populate(CachedRowSet.java:1478)
代码如下:
oracle.sql.BLOB bSignatureData = (oracle.sql.BLOB)rs.getBlob("Signature");
byte[] Signbytes;
int i = 0;
BlobLength=bSignatureData.length(); //获取BLOB长度
if (bSignatureData == null || BlobLength==0){
Signature = "";
}else{
Signature = new String(bSignatureData.getBytes(1L,new Long(bSignatureData.length()).intValue()));
}BlobgetBytes无效参数bytejava
Caused by: java.sql.SQLException: 调用中的无效参数: getBytes() at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.sql.BLOB.getBytes(BLOB.java:179) at sun.jdbc.rowset.SerialBlob.(SerialBlob.java:21) at sun.jdbc.rowset.CachedRowSet.populate(CachedRowSet.java:1478)
代码如下:
oracle.sql.BLOB bSignatureData = (oracle.sql.BLOB)rs.getBlob("Signature");
byte[] Signbytes;
int i = 0;
BlobLength=bSignatureData.length(); //获取BLOB长度
if (bSignatureData == null || BlobLength==0){
Signature = "";
}else{
Signature = new String(bSignatureData.getBytes(1L,new Long(bSignatureData.length()).intValue()));
}BlobgetBytes无效参数bytejava
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货