记使用talend从oracle抽取数据时,数字变为0的问题

数据源为oracle,字段类型为number。

发现通过mainline连接到一个logrow控件,输入的该字段的值为0

经过多次测试还是没发现有什么规律。

通过查看代码发现有这一句内容。

if (row2.ID != null) { //

strBuffer_tLogRow_1.append(row2.ID.setScale(-127,
java.math.RoundingMode.HALF_UP)
.toPlainString());

} //

不知这个是个bug还是一个未知的规则。

待解决。

原文地址:https://www.cnblogs.com/vanwoos/p/9397002.html

时间: 2024-08-29 13:52:12

记使用talend从oracle抽取数据时,数字变为0的问题的相关文章

oracle添加数据时主键自动增长

CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20), ); 此时给学生表添加数据时 必须指定id INSERT INTO STUDENT VALUES(1,'Tom'); 下面用触发器和序列结合使得添加数据时id自动增长 不要指定了 --创建序列CREATE SEQUENCE SEQ_STUINCREMENT BY 1  ID每次自增几START WITH 1 ID从几开始自

oracle——存储数据时的编码问题

原文:https://blog.csdn.net/aachangs/article/details/87820818 数据库编码问题 新手入坑,第一次使用oracle数据库,还是与mysql略有不同,首先在插入数据时的SQL语法有很大不同,mysql写法: 1 insert into tablename values (%s,%s) oracle中插入写法: 1 insert into tablename(ITEM_ID, CONTENT) values (:ITEM_ID, :CONTENT)

Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果

我们在对Oracle数据库进行操作时,有时会在查询完结果后想要对其中的某些数据进行操作,当我们点击编辑(一个锁标志)是,会提示我们上述问题中的错误:这些查询结果不可更新,请使用ROWI或者SELECT--FOR UPDATE获得可更新结果.按照错误提示的信息我们可以采用两种解决办法: 解决办法1:在查询语句后面写上for update,如:select * from 表名 for update: 解决办法2:在查询的列中使用rowid属性,如:select rowID, 表名.* from 表名

oracle插入数据时解决和旧数据id的冲突

我们在使用oracle创建一个主键的时候需要让他自增, 但是他跟mysql不同,需要创建序列,具体看下面: 可以删除之前创建的sequence,我们在重新创建一个: DROP SEQUENCE SJGXQK_sequence; --删除 create sequence SJGXQK_sequence  --( SJGXQK_sequence,这个代表的是你的序列的名称)INCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXVALUE -- 不设置最大

Talend 将Oracle中数据导入到hive中,根据系统时间设置hive分区字段

首先,概览下任务图: 流程是,先用tHDFSDelete将hdfs上的文件删除掉,然后将oracle中的机构表中的数据导入到HDFS中:建立hive连接->hive建表->tJava获取系统时间->tHiveLoad将hdfs上的文件导入到hive表中. 下面介绍每一个组件的设置: tHDFSDelete_1: 机构: tHDFSOutput_1: hive: tHiveCreateTable: tJava_1: tHiveLoad_1: 在Context下面建一个内容变量: 这个内容变

mongodb 更新数据时int32变为double的解决办法

   场景: 在命令手动的修改签到表的整型字段synState,multi参数是可以更新多条,如果是false则更新一条. db.getCollection("ClassRecordOneDetail").update({synStateTime:{"$gt":new Date("2019-05-12")},synStateTime:{"$lt":new Date("2019-05-13")}},{$set

Oracle 10g使用amdu抽取数据文件

环境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:实验在Oracle 10g环境使用amdu抽取数据库文件 本文主要目的是介绍3个知识点: 1.使amdu可以在oracle 10g环境中使用 2.使kfed可以在oracle 10g环境中使用 3.amdu如何抽取损坏的ASM磁盘组数据 1.使amdu可以在oracle 10g环境中使用 在Oracle 10g环境,并没有自带amdu工具,需要自行去下载: 具体可以参考MOS文档: Placeholder for AMDU

oracle插入字符串数据时,字符串中有'单引号

使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''. 将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable(): HashTable ht =new HashTable(); ht.add(field1,val1); ht.add(field2,va

关于oracle 11g导出数据时 报 ORA 1455错误的处理

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n