碰到一个问题,我要讲一个表的字段(long型)覆盖另一个表的字段(long型),提示非法使用long数据类型。
update xygl_mb a set mbyw =(select mbyw from xygl_mb@dblink_bluetest b where a.mbbz=b.mbbz);
发到了单位的论坛上,同事们都没有遇到过:
看来大家都没有碰到过这个问题,我在网上找了半天没什么眉目,只有通过程序来解决了:
=================================
public class UpateLong {
public static void main(String arg[]){
Connection Conn=null;
Connection Conn2=null;
Statement stmt=null;
Statement stmt2=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Conn = DriverManager.getConnection("jdbc:oracle:thin:@10.1.11.90:1521:blue","xxxx","xxxx");
Conn2 = DriverManager.getConnection("jdbc:oracle:thin:@10.1.10.12:1521:ora8","xxxx","xxxx");
stmt = Conn.createStatement();
stmt2 = Conn2.createStatement();
String strSQL ="select mbbz,mbyw from xygl_mb ";
ResultSet sqlRst = stmt.executeQuery(strSQL);
Map m=new HashMap();
while(sqlRst.next()){
m.put(sqlRst.getObject("mbbz"),sqlRst.getObject("mbyw"));
}
Iterator it=m.keySet().iterator();
while(it.hasNext()){
//System.out.println(it.next()+"====="+m.get(it.next()));
Object o=it.next();
stmt2.executeUpdate("update xygl_mb set mbyw=\'"+m.get(o)+" \'where mbbz="+o);
}
stmt.close();
stmt2.close();
Conn.close();
Conn2.close();
System.out.println("done");
} catch (Exception e){
e.printStackTrace();
}
}
}
=============
在网上看,在数据库层面有2种方法:
1、使用sqlplus的copy命令,不过要在目标服务器上操作,可操作性不强。
2、写一个存储过程,用游标搞定,本人ora存储过程不熟。
其实Long型是现行oracle不推荐使用的数据类型,现在有更成熟的BLOB/CLOB。所以如果存照片或者文档还是不要使用long了。
分享到:
相关推荐
在处理Oracle中的"Number"时,Java开发者需要根据数据库定义的"Number"类型细节来选择合适的Java数据类型。如果"Number"类型定义为如"Number(13,0)",意味着它只包含整数部分,可以考虑使用Integer。而如果"Number...
Oracle9i 数据类型、Java 数据类型以及 Schema 类型之间的对比主要关注它们在存储和处理数据时的差异。这些数据类型是编程和数据库管理中的基础,理解它们的关系对于开发与数据库交互的应用程序至关重要。 1. ...
在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...
这与 Java 中的长整形基本数据类型 long 不同,LONG 类型主要用于不需要作字符串搜索的长串数据。 在 Hibernate 框架中,使用自定义类型映射 Oracle 中的 LONG 类型字段是一种常见的解决方案。通过实现 UserType ...
Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...
在IT领域,尤其是在Java开发与Oracle数据库交互的过程中,处理BLOB(Binary Large Object)类型字段是一项常见且重要的任务。BLOB字段主要用于存储大量的二进制数据,如图像、音频、视频或任何其他非文本格式的数据...
Oracle数据库中,LongRaw和Blob是两种不同的数据类型,它们分别用于存储大对象(LOB)数据。LongRaw类型是Oracle的原始数据类型,用于存储二进制大对象,而Blob类型则是二进制大型对象,更适合存储大量的二进制数据...
在现实世界中,为了有效地保存和处理不同类型的信息,我们需要使用不同的数据类型。例如,整型数据用于表示整数值,支持常见的数学运算如加、减、乘、除;浮点型数据则用于表示带有小数点的数值;而字符或字符串类型...
Oracle 数据类型是 Oracle 数据库管理系统中的数据类型,用于存储和管理数据,而 JDBC(Java Database Connectivity)类型是 Java 语言中用于连接数据库的 API 中的数据类型。了解 Oracle 数据类型和对应的 JDBC ...
【Oracle 数据类型详解】 在 Oracle 数据库中,数据类型是用来定义和存储不同类型数据的格式。以下是一些常见的 Oracle 数据类型: 1. CHAR(n): 定长字符串类型,最多可存储 2000 个字节。如果未指定长度,默认为 ...
LONG 数据类型已经被oracle废弃,推荐使用 LOB(Large OBject)数据类型来代替。 那么,什么是 LOB 数据类型?LOB 数据类型是 Oracle 数据库中的一种数据类型,用于存储大型的二进制数据或字符串数据。LOB 数据...
Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...
本资源提供了 Java 数据类型与各数据库类型的映射关系表,涵盖了 Java.sql.Type 值、IBM DB2、Oracle、Sybase、SQL Server、Informix 等多个数据库管理系统。该表格详细说明了每种数据类型在不同数据库管理系统中的...
在 Oracle 中, Date 数据类型是用来存储日期和时间的,而在 Java 中,也有相应的 Date 类型。但是,这两个 Date 类型之间存在一些区别和不兼容的问题,本文将详细介绍如何在 Java 中解决 Oracle Date 类型的问题。 ...
在数据库系统中,数据类型的选用对于数据存储和处理的效率至关重要。MySQL 和 Oracle 是两种广泛使用的数据库管理系统,它们各自有一套不同的数据类型。本篇文章将详细介绍 MySQL、Oracle 和 Java 之间对应的数据...
在IT行业中,数据库管理系统是...总的来说,理解不同数据库系统之间的数据类型对应关系对于开发跨平台的数据库应用至关重要,这有助于确保数据正确地在MySQL和Oracle之间迁移,同时在Java代码中正确地处理这些数据。
在数据库设计中,数据类型的选择至关重要,因为它直接影响着数据的存储、处理效率以及查询性能。以下是 MySQL、Oracle 和 SQL Server 的主要数据类型及其特点: ### MySQL 数据类型 1. **SMALLINT**: 用于存储小...
Oracle数据库支持通过BLOB(Binary Large Object)类型来存储较大的二进制数据。本文将详细介绍如何在Java应用程序中读取存储在Oracle数据库BLOB字段中的图片数据。 #### 二、准备工作 为了实现读取Oracle数据库中...
Oracle数据库系统支持这两种数据类型,用于存储大量文本数据和二进制数据。下面将详细介绍这两种数据类型以及如何在Oracle中使用它们存储和读取图片。 1. **CLOB数据类型**: `CLOB`数据类型用于存储大量的字符...
在Oracle 10g中,CLOB数据类型的处理有时会遇到一些挑战,尤其是在与ORM框架结合使用时。以下将详细介绍相关知识点: 1. **CLOB类型**:CLOB是一种非二进制大对象,用于存储大量字符数据,最大可达到4GB。Oracle 10...