SSIS - ORA-01722 - 无效数字
SSIS - ORA-01722 - Invalid Number
我正在制作简单的 SSIS dtsx 包,其中 select 来自 Sybase 数据库的数据,我想将它们插入到 Oracle 数据库中。不幸的是,我收到了 ORA-01722 错误代码,但我无法弄清楚我在哪里犯了错误。
第一个 table (Sybase 数据库):
select * from d_agent
第一个 table 的数据类型:
NUMERIC,NUMERIC,DECIMAL,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,TIMESTAMP,INTEGER
无法插入数据和错误 ORA-1722: 2,5005000,NULL,NULL,NULL,NULL,NULL,NULL,22436705,Test,Jun 30 2005, 96
第二个table(Oracle 数据库):
ODBC Destination and right table selected copy.d_agent_sez
第二个数据类型table:
NUMBER,NUMBER,NUMBER,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,DATE,NUMBER
SSIS 错误消息:[Transfer_ORACLE] Error: Open Database Connectivity (ODBC) error occurred. state: '22018'. Native Error Code: 1722. [Oracle][ODBC][Ora]ORA-01722: invalid number
我错过了什么?请帮忙 :)
谢谢你的帮助。
第一个问题是将时间戳转换为日期 >> 我认为这是不可能的...
甲骨文:
对于日期数据类型的列:
create table t1(a date)
insert into t1 values(Jun 30 2005)
--this will not work
insert into t1 values(to_date('Jun 30 2005', 'Mon DD YYYY'))
--this will work
对于数据类型为 varchar 的列:
create table t2(b varchar(100))
insert into t2 values(Test)
--this will not work
insert into t2 values('Test')
--this will work
当我更正这两件事时,插入就可以了...
Here is a demo
我正在制作简单的 SSIS dtsx 包,其中 select 来自 Sybase 数据库的数据,我想将它们插入到 Oracle 数据库中。不幸的是,我收到了 ORA-01722 错误代码,但我无法弄清楚我在哪里犯了错误。
第一个 table (Sybase 数据库):
select * from d_agent
第一个 table 的数据类型:
NUMERIC,NUMERIC,DECIMAL,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,TIMESTAMP,INTEGER
无法插入数据和错误 ORA-1722: 2,5005000,NULL,NULL,NULL,NULL,NULL,NULL,22436705,Test,Jun 30 2005, 96
第二个table(Oracle 数据库):
ODBC Destination and right table selected copy.d_agent_sez
第二个数据类型table:
NUMBER,NUMBER,NUMBER,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,DATE,NUMBER
SSIS 错误消息:[Transfer_ORACLE] Error: Open Database Connectivity (ODBC) error occurred. state: '22018'. Native Error Code: 1722. [Oracle][ODBC][Ora]ORA-01722: invalid number
我错过了什么?请帮忙 :) 谢谢你的帮助。
第一个问题是将时间戳转换为日期 >> 我认为这是不可能的...
甲骨文:
对于日期数据类型的列:
create table t1(a date)
insert into t1 values(Jun 30 2005)
--this will not work
insert into t1 values(to_date('Jun 30 2005', 'Mon DD YYYY'))
--this will work
对于数据类型为 varchar 的列:
create table t2(b varchar(100))
insert into t2 values(Test)
--this will not work
insert into t2 values('Test')
--this will work
当我更正这两件事时,插入就可以了... Here is a demo