以下代码可以向数据库插入二进制形式的图片、文件、视频等。
Java代码
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class OracleImageTest {
/*
* create table IMAGETABLE ( IMAGE_BLOB BLOB, IMAGE_LONG_RAW LONG RAW )
*/
public static void main(String[] args) {
Connection connection = null;
try {
String sql = "insert into imagetable (image_blob )values (? )";
connection = getORACLEConn();
File f = new File("c://myimage.png");
FileInputStream fis = new FileInputStream(f);
PreparedStatement ps = connection.prepareStatement(sql);
ps.setBinaryStream(1, fis, f.length());
ps.execute();
fis = new FileInputStream(f);
sql = "insert into imagetable (image_long_raw )values (? )";
ps = connection.prepareStatement(sql);
ps.setBinaryStream(1, fis, f.length());
ps.execute();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static Connection getORACLEConn() throws ClassNotFoundException,
SQLException {
Connection connection;
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.65.247:1521:ce4702", "qsh91",
"qsh91");
return connection;
}
}
通过PL/SQL就可以看到插入的图片,或者通过相反的JDBC过程就可以查询出图片。
分享到:
相关推荐
在Oracle数据库中,LongRaw和Blob都是用于存储大对象(LOB)的数据类型,但它们有各自的特点和适用场景。在某些情况下,可能需要将LongRaw字段转换为Blob字段,这通常是因为Blob提供更好的管理和处理大型二进制数据...
LongRaw类型是Oracle的原始数据类型,用于存储二进制大对象,而Blob类型则是二进制大型对象,更适合存储大量的二进制数据,如图片、文档等。在某些情况下,由于LongRaw不支持某些高级LOB操作,如索引和部分更新,...
- **选择LKM**:使用LKM SQL to SQL BTL(Jython),这个Knowledge Module(KM)能将源数据中的BLOB值同步到目标LONGRAW。 - **选择IKM**:选择IKM SQL NULL,可能用于处理空值或无映射的字段。 - **接口实现**:...
它可以直接存储原始的二进制数据,无需进行任何编码转换,因此对于图片存储来说,`BLOB`通常是更直接且高效的方式。 3. **图片存入Oracle的步骤**: - **准备环境**:首先确保已经安装了Oracle数据库客户端和相应...
在数据库领域,随着技术的发展,Oracle不断优化其数据存储能力,引入了CLOB(Character Large Object)和BLOB(Binary Large Object)等数据类型,以取代早期版本中使用的Longraw类型。Longraw类型主要应用于Oracle ...
在Oracle数据库中,有多种数据类型用于存储不同类型的数据,其中包括Long、Raw和Blob。这些字段类型各有其特性和用途,下面我们将详细探讨它们,并通过一个简单的示例来展示如何在Oracle数据库中对这些类型进行读写...
在Oracle数据库中,有多种数据类型用于存储不同类型的数据,其中包括Long、Raw和Blob。这些字段类型各有其特性和用途。 1. Long类型:Long数据类型用于存储大文本数据,如用户简历(EMP_DESCLONG)。它能存储的最大...
总之,理解并正确使用ORACLE数据库中的VARCHAR2、LONG、RAW和BLOB数据类型对于高效地存储和管理各种类型的数据至关重要。在实际开发中,应根据具体需求选择合适的数据类型,并确保正确处理数据的读写操作。
理解并正确使用各种字段类型,如Long、Raw和Blob,可以帮助你构建更高效、更灵活的数据存储解决方案。同时,考虑到安全性和性能,应避免使用LONG类型,转而使用CLOB或BLOB,并根据需要使用合适的数据存储策略。
"AnySQL_net » Blog Archive » 如何将BLOB的内容转到LONG RAW中.html"这篇文章可能会探讨如何在Oracle中将Blob数据转换为LONG RAW类型,LONG RAW是Oracle另一种存储大对象的方式,但只适用于二进制数据。...
Oracle数据库是一个流行的关系型数据库系统,它提供了LONG RAW和BLOB类型来存储非结构化的数据,如图片。 在Oracle中,LONG RAW类型用于存储原始二进制数据,而BLOB(Binary Large Object)用于存储可变长度的二...
- **BLOB (Binary Large Object)**:与Oracle 7中的`LONGRAW`类型类似,用于存储无结构的二进制数据。BLOB数据在存储时不进行任何解码,保持原始形式。 - **BFILE (Binary File)**:提供对存储在Oracle数据库之外的...
例如,在 DB2/400 中,我们可以使用定长的 CHAR(N)类型与 Oracle 的 VARCHAR2(n)相对应,这样可以提高效率和节省存储空间。 四、LOB 类型 DB2/400 提供 VARCHAR 和 CLOB 与 Oracle 中的 RAW 和 LONG RAW 相...
### Struts2框架介绍 Struts2是一个基于Java语言...同时,对于未来技术选型,Oracle数据库推荐优先考虑使用CLOB和BLOB类型来存储大型数据,因为这些类型比LONG类型拥有更好的特性,例如更大的容量和更好的操作灵活性。
Oracle 中的二进制类型包括 raw、long raw、blob、clob、nclob 等。 * raw(n):可变长二进制数据,最大长度限制是 2000 字节。 * long raw:无可变长二进制数据,最大长度限制是 2GB。 * blob:大型对象,用于保存...
例如,Oracle数据库支持`LongRaw`和`Raw`类型,而SQL Server则支持`Image`和`Text`类型,因此,在设计数据库表结构时,需要根据实际使用的数据库类型来确定Blob字段的具体类型。 - **性能优化:** 当处理较大的Blob...
5. **其他类型**:RAW(固定长度的二进制数据)、LONG RAW(长二进制数据)、PL/SQL记录和游标类型。 而在.NET Framework中,C#语言提供了相应的数据类型,如: 1. **数值类型**:int、decimal、long、short等对应...
DB2/400提供VARCHAR和CLOB与Oracle中的RAW和LONG RAW相对应。Oracle也支持大对象:BLOB、CLOB、NCLOB等。DB2/400中的BLOB和CLOB只能存放2GB的数据,而Oracle中的BLOB和CLOB可以提供4GB的空间。 五、ROWID类型 ...
- `Maximum Long Binary` 或 `image`、`BLOB`: 对应 Oracle 的 `BLOB`,存储最大长度的二进制数据。 - `Bitmap` 类型如 `image`、`BMP`: 用于存储位图格式(BMP)的图像,对应 Oracle 的 `BLOB`。 - `Max Image` ...