最近新客户要求,以EXCEL数据方式,将数据表的内容,通过AS2协议传输到客户那边,本来打算使用存储过程直接输出EXCEL,但一想,ODI这么强大的工具应该可以直接进行转换,所以参考了一下官方标准文档,测试成功,好了,不啰嗦了,进行步骤说明:
-
建立模型
ODI进行导出,首先要有来源和目的模型,简单说就是FROM---TO
这里我们从视图导出到文件,那么需要建立视图的模型与文件模型。
首先建立文件模型。
建立模型文件夹,名称随便起,这里我叫FILES:
建立模型文件夹后,右键点击模型文件夹FILES,弹出菜单,选择新模型,新建模型
新建模型如下图:定义TAB页中,填入名称,由于是文件模型,所以技术要选File 逻辑方案要选 flat_files_src,其他TAB也可默认不填。
建立完模型后,右键点击,弹出如下菜单,选择新建数据存储:
新建数据存储,如下图:在定义TAB页中,输入名称,资源名称这里选择自己定义的CSV文件。
在文件TABL页中,选择文件格式,输入字段分隔符
在列TAB页中,选择逆向工程,系统自动把CSV文件中的列,读取出来,如下图
CSV格式如下图:这里注意,所有的字段是一列中,用逗号分隔。
到此为止,文件数据存储建立完毕。
下面建立视图的数据存储:
视图存储于文件存储类似:
建立模型:
逆向工程:我这里是视图,如果是表或是别的,可以按需要进行选择,掩码类似于筛选,我视图是以XXCUS_A01开头,所以我只筛选出这个开头的视图。
选择逆向工程:点击后,会出现视图名称,选择新建数据存储
其他TAB可以默认,至此视图数据模型建立完毕。
-
建立项目
模型都建立完毕,现在我们建立项目,在定义TAB页中输入名称和代码
新建接口:展开新建的项目,找到接口,右键点击,新建接口,在定义TAB页中,输入名称,注意"临时区域与目标区不同"这个现在是灰色的,现在不能选,必须保存完毕后,才可勾选。
点击接口界面,下方的映射:在映射中,可以看到左边和右边两个框,帮刚才建立的视图数据存储拖到左边,把文件数据存储拖到右边,然后把左边的列,拖到右边的列,进行对应映射设置。
设置流选项:在流TAB中,选择目标区域,在属性检查器中 IKM及选项,参照下图进行设置。
设置完毕保存接口。
-
执行测试
选中接口,点击执行按钮,进行测试
在操作中查看执行结果:如下图,看以看到执行成功,插入书799条
到此测试完毕。