SSIS数据抽取遇到大问题了:Oracle数据抽取到SQL Server数据类型不一致导致无法运行

afengelf 2012-03-29 08:34:45
我的数据源是ORACLE的,表里的字段类型是VARCHAR2(255),
目标数据库是SQL SERVER 2000,表里的字段类型是varchar,
报的错是:无法从unicode转换成非unicode......什么什么什么...

反正就是这个错了,而且我用SSIS里的那个数据转换的组件转换也不行?

两个数据库均不能修改字段的类型,因为是客户提供的数据库,无法申请改动字段类型的.

咋整?
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingyan1124 2012-03-30
  • 打赏
  • 举报
回复
祖贺啊
afengelf 2012-03-30
  • 打赏
  • 举报
回复
问题解决了,我搞错了,可以用数据转换的组件转换的,转换后的字段名字后面有个副本2个字,用那个列就可以了
mayuanf 2012-03-29
  • 打赏
  • 举报
回复
应该不用转换。
ssis package右键oracle以及sqlserver那个manager点advance edit(我具体不记得了),最有一个tab可以编辑你源字段的属性,看看源和目标字段的类型是否一致(都是varchar或者nvarchar)
dawugui 2012-03-29
  • 打赏
  • 举报
回复
VARCHAR2(255)-->varchar,不存在类型转换.除非你使用了一些非标准的字符.可考虑使用类型转换转换这些数据.
Felixzhaowenzhong 2012-03-29
  • 打赏
  • 举报
回复
必须改类型,否则即便导入成功了显示的时候也有可能乱码。类型不兼容都不让改,那接下来的工作没法做。
把你的理由告诉负责人,让客户和上级领导 解决改类型。
没有什么是不可能的。
数据什么是 ⼤数据什么是ETL ETL 概念 概念 ETL 这个术语来源于数据仓库,ETL 指的是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程。ETL 的⽬的是将企业中的 分散、零乱、标准不统⼀的数据整合到⼀起,为企业的决策提供分析依据。 ETL是 BI 项⽬重要的⼀个环节。 通常情况下,在 BI 项⽬中 ETL 会花掉整个项⽬⾄少 1/3 的时间,ETL 设计的好坏直接关接到 BI 项⽬的成 败。 BI 即商务智能,它是⼀套完整的解决⽅案,⽤来将企业中现有的数据进⾏有效的整合,快速准确地提供报表并提出决策依据,帮助企业 做出明智的业务经营决策。 ETL 的设计分三部分:数据抽取(extract)、数据的清洗转换(transform)、数据的加载(load)。 在设计 ETL 的时候我们也是从这三部分出发。 数据抽取是从各个不同的数据抽取到 ODS(Operational Data Store,操作型数据存储,即⼀种常被⽤作数据仓库临时区域的数据库) 中,这个过程也可以做⼀些简单的数据的清洗和转换。在抽取的过程中需要挑选不同的抽取⽅法,尽可能的提⾼ ETL 的运⾏效率。 ETL 三个部分中,花费时间最长的是 "T"(Transform,清洗、转换) 的部分,⼀般情况下这部分⼯作量是整个 ETL 的2/3。 数据的加载⼀般在数据清洗完了之后直接写⼊ DW(Data Warehousing,数据仓库) 中去。 ETL 的实现有多种⽅法,常⽤的有三种。 借助 ETL ⼯具(如 Oracle的 OWB、SQL Server 2000 的 DTS、SQL Server2005 的 SSIS 服务、Informatic 等) 实现 使⽤ SQL ⽅式实现 ETL ⼯具和 SQL 相结合 前两种⽅法各有各的优缺点,借助⼯具可以快速的建⽴起 ETL ⼯程,屏蔽了复杂的编码任务,提⾼了速度,降低了难度,但是缺少灵活 性。SQL 的⽅法优点是灵活,提⾼ ETL 运⾏效率,但是编码复杂,对技术要求⽐较⾼。第三种是综合了前⾯⼆种的优点,会极⼤地提⾼ ETL 的开发速度和效率。 数据抽取数据抽取(Extract) ) 这⼀部分需要在调研阶段做⼤量的⼯作,⾸先要搞清楚数据是从⼏个业务系统中来,各个业务系统的数据库服务器运⾏什么 DBMS,是否存在 ⼿⼯数据,⼿⼯数据量有多⼤,是否存在⾮结构化的数据等等,当收集完这些信息之后才可以进⾏数据抽取的设计。 1、对于与存放 、对于与存放 DW 的数据库系统相同的数据源处理⽅法 的数据库系统相同的数据源处理⽅法 这⼀类数据源在设计上⽐较容易。⼀般情况下,DBMS(SQLServerOracle)都会提供数据库链接功能,在 DW 数据库服务器和原业务系统 之间建⽴直接的链接关系就可以写 Select 语句直接访问。 2、对于与 、对于与 DW 数据库系统不同的数据源的处理⽅法 数据库系统不同的数据源的处理⽅法 对于这⼀类数据源,⼀般情况下也可以通过 ODBC 的⽅式建⽴数据库链接——如 SQL ServerOracle 之间。如果不能建⽴数据库链接, 可以有两种⽅式完成,⼀种是通过⼯具将源数据导出成 .txt 或者是 .xls ⽂件,然后再将这些源系统⽂件导⼊到 ODS 中。另外⼀种⽅法是通 过程序接⼝来完成。 3、对于⽂件类型数据源 、对于⽂件类型数据源(.txt,.xls),可以培训业务⼈员利⽤数据库⼯具将这些数据导⼊到指定的数据库,然后从指定的数据库中抽取。或者还可以借助⼯具实 ,可以培训业务⼈员利⽤数据库⼯具将这些数据导⼊到指定的数据库,然后从指定的数据库中抽取。或者还可以借助⼯具实 现。 现。 4、增量更新的问题 、增量更新的问题 对于数据量⼤的系统,必须考虑增量抽取。⼀般情况下,业务系统会记录业务发⽣的时间,我们可以⽤来做增量的标志,每次抽取之前⾸先判 断 ODS 中记录最⼤的时间,然后根据这个时间去业务系统取⼤于这个时间所有的记录。利⽤业务系统的时间戳,⼀般情况下,业务系统没 有或者部分有时间戳。 数据的清洗转换( 数据的清洗转换(Cleaning、 、Transform) ) ⼀般情况下,数据仓库分为 ODS、DW 两部分。通常的做法是从业务系统到 ODS 做清洗,将脏数据和不完整数据过滤掉,在从 ODS 到 DW 的过程中转换,进⾏⼀些业务规则的计算和聚合。 1、 、 数据清洗 数据清洗 数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进⾏抽取。 不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三⼤类。 不完整的数据:这⼀类数据主要是⼀些应该有的信息缺失,如供应商的名称、分公司的名称、客户的

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧