近日,公司项目要求将Oracle数据库中的大字段BLOB数据同步到SQLSERVER中IMAGE大字段中。
网上找了些列子,再结合自己项目实际情况进行编写,代码如下:
String hql2 = "from Datp t where t.status='" + Constant.YWZT_0 + "'"; List<Datp> list2 = this.getSession().createQuery(hql2).list(); // ORACLE 连接 if (list2.size() > 0) { for (int i = 0; i < list2.size(); i++) { Datp datp = list2.get(i); String lsh = datp.getLsh(); conn = DbUtil.getConnection(DRIVERNAME, URL, USERNAME, PASSWORD); conn.setAutoCommit(false); PreparedStatement stmt = conn.prepareStatement("INSERT INTO DATP(LSH,TPSJ) VALUES (?,?)"); stmt.setString(1, lsh); // 通过流水号读取Oracle BLOB字段 Datp datp1 = (Datp) this.getSession().createQuery("from Datp t where t.lsh='" + lsh + "'").uniqueResult(); byte[] tpsj = datp1.getTpsj(); // 获取Oracle BLOB字段 InputStream in = new ByteArrayInputStream(tpsj); // byte[]转换为InputStream stmt.setBinaryStream(2, in, in.available()); // 存入图片,SQLSERVER连接 stmt.execute(); conn.commit(); stmt.close(); conn.close(); // 更新记录同步状态 String sql = "UPDATE datp t SET t.status = '" + Constant.YWZT_1 + "' WHERE t.id = '" + datp.getId() + "'"; this.getSession().createSQLQuery(sql).executeUpdate(); } }查看插入SQLSERVER中的大字段是否成功,代码如下:
相关推荐
本篇文章将详细探讨如何将ORACLE数据库中的BLOB(Binary Large Object)字段导入到SQL SERVER中的IMAGE字段,这通常涉及到数据转换、数据迁移以及可能的数据类型兼容性问题。 首先,让我们了解BLOB和IMAGE字段的...
在本文中,我们将讨论如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中。 Image 类型在 SQL Server 中的应用 在 SQL Server 中,Image 类型用于存储二进制大对象(BLOB),如图像、音频、视频...
写入Blob字段时,先创建`OracleParameter`对象,将其Direction设置为` ParameterDirection.Input `,OracleDbType设置为`OracleDbType.Blob`,然后赋值。以下是一个示例: ```csharp // 读取Blob字段 using ...
在关系型数据库中,如Oracle、MySQL、SQL Server等,BLOB字段提供了一种高效的方式,用于处理和存储大数据量的非结构化信息。 ### 判断BLOB字段是否为空的必要性 在实际应用中,判断BLOB字段是否为空对于数据完整...
- `image`在SQL Server中对应Oracle的`BLOB`,用于存储二进制大数据。 接下来,我们讨论SQL Server和Oracle的函数对照: 1. **字符函数**: - `ASCII`和`CHR`用于字符的ASCII编码转换。 - `CONCAT`和`+`运算符...
本文将详细讲解如何操作Oracle数据库中的Blob字段,以实现图片的存储和读取。Blob(Binary Large Object)字段类型用于存储大量的二进制数据,如图片、文档等。 首先,确保已安装了Oracle的客户端库,如ODP.NET ...
对于二进制文件,可能需要先将它们保存到文件系统,然后在Oracle中创建BFILE或BLOB字段来引用这些文件。 "SqlServer_Oracle.exe"这个文件很可能是一个数据迁移工具,它可以简化这个过程,自动处理数据抽取、转换和...
### ADO读写BLOB字段详解 #### 一、引言 在软件开发过程中,处理大量二进制数据(如图像、音频文件等)是非常常见的需求。这些数据通常被称为二进制大对象(BLOB,Binary Large Object)。本文将详细介绍如何使用...
总结而言,从SQL Server到Oracle的数据库迁移不仅涉及数据类型转换的细节,还需要对源数据库中的特殊功能如自动增长字段进行等效替代设计,确保目标数据库能够无缝接替原有的数据管理和业务逻辑。这一过程需要细致...
【知识点详解】 ...通过上述过程,ODI 使用 Jython 脚本实现了 SQL Server 中 `image` 类型数据到 Oracle 数据库 Blob 字段的转换。这种转换处理了数据类型差异,确保了二进制数据完整无损地迁移。
在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...
例如,使用PreparedStatement的setBinaryStream方法可将二进制数据插入BLOB字段,而ResultSet的getBinaryStream方法则用于读取BLOB数据。此外,使用Blob接口,开发者可以更方便地处理大数据对象的生命周期,如读取、...
本文将对MySQL、SQL Server和Oracle这三种主流关系型数据库系统中的大对象存取进行详细解析。 **MySQL中的大对象存取** MySQL支持几种不同类型的BLOB类型,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。这些类型...
根据提供的标题和描述,本文将详细介绍在MySQL、SQL Server以及Oracle数据库中常用的函数。这些函数主要分为几大类:字符串处理函数、数值处理函数、日期处理函数、转换函数以及其他一些特殊用途的函数。 ### 字符...
在SQL Server中,处理大对象数据通常使用`IMAGE`类型(SQL Server 2005及以前版本)或`VARBINARY(MAX)`、`IMAGE`(SQL Server 2008及以后版本)。`IMAGE`类型可以存储的最大数据量理论上不受限,但实际受物理存储...
例如,Oracle数据库支持`LongRaw`和`Raw`类型,而SQL Server则支持`Image`和`Text`类型,因此,在设计数据库表结构时,需要根据实际使用的数据库类型来确定Blob字段的具体类型。 - **性能优化:** 当处理较大的Blob...
以上代码展示了如何通过Delphi将图片数据转换为内存流,然后将这些流插入到数据库的BLOB或VARBINARY(MAX)字段中。在检索图片时,只需从数据库读取流数据并写入到文件即可。注意,在实际应用中,需要根据具体数据库...
将返回的结果集绑定到TADOTable或TADODataSet组件,读取BLOB字段的数据流到一个新的TMemoryStream对象。 6. **显示图片**:将TMemoryStream对象的内容赋值给TImage组件的Picture property,从而在界面上显示图片。 ...
Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...