informatica 在抽取EXCEL中遇到问题及INFA售后给出的建议。
来源:互联网 发布:有意思的网络小说 知乎 编辑:程序博客网 时间:2024/04/29 16:48
作者:lianghc
1.测试环境:
服务器:
操作系统:windows server 2008 R2 Enterprise (X64)
Informatica版本:9.6.1 hotfix1 (x64)
MSOffice:Professional2010 (x64)
客户端:
操作系统:Win7 旗舰版 (x64)
Informatica版本:9.6.0 (x86)
MS Office:Professional 2010 (x86)
2.需求描述:
2.1需要抽取excel(xlsx格式)数据,excel抽取具体内容使用固定模版,第一行为表头,其余为数据,一个excel文件包含多个sheet页;
2.2抽取excel文件放在INFA 服务器所在机器某固定文件夹下,有多个文件;
2.3在infa抽取的过程中,操作人员有可能读写excel文件,假如文件处于编辑状态,infa是否可以抽取excel数据?如若不能,有没有其他的解决方案;(问题三需要指导方案。)
2.4 除了按计划执行抽取excel,要求excel 数据内容有变化立马抽取,如若不能监测变化立马抽取,是否可以在前台页面手工点击按钮抽取。
3.目前困境:
使用Informatica抽取excel时,工作流意外终止,日志无报错。明细如下:
3.1 运行属性中错误:
3.2日志无错误,下图是完整日志信息,终止在向数据库发送sql.
3.3 console中日志信息
3.4 console 中服务日志信息
4.Infa KB中说支持2010 x64
目前主要是数据抽取不过来的问题,报错是意外终止。不知如何解决。
售后答复:
第一点:用 PowerCenter系列产品来抽取 Excel数据的三种思路。
1) 第一种,经由 ODBC Driver,并通过在 Windows中自带的数据源管理器来创建 ODBC数据源,然后通过 PowerCenter Server去抽取 ODBC数据源的数据的方式来实现。这种方式的问题是,基本都需要以人工的方式去打开每个 Excel文件,定义数据区间(相当于定义每一张表),然后在数据源管理器中为每一个 Excel文件创建一个对应的条目,最后还要在 PowerCenter中导入这些条目后进行mappings的开发。这种方式并不适合Excel文件数量较多,且数目和文件名都不固定的情况,因为需要太多人工操作。
2) 第二种,使用网上即可获取的一些小工具,例如 xls2csv等,可以以命令行/脚本的方式,将 Excel文件格式批量转成 CSV文件(一个有多sheets的 Excel文件在被转化后,会生成多个对应的 CSV文件)。然后,用 PowerCenter来处理 CSV文件,情形会简单得多。整个过程可以通过在 workflow中设计一些 command tasks来进行预处理,然后借助变量等手段,完成这一场景中的数据抽取。
3) 第三种,就是要用到 PowerCenter UnstructuredData Option。这是 PowerCenter 的一个选件,专门用于解析复杂的文件格式,其中包括 PDF、Word、PPT和Excel。该选件的功能很强大,但是对于你们而言,意味着有一定的软件license购置成本,以及要花一点时间学习如何基于 UDO 来进行非结构化/半结构化数据的解析开发。
以上三种思路,供你们参考,可结合客户的具体情况来决策。
第二点,现在的 ETL 作业运行后会失败。截图中,有很多信息显示不完全,我们也没法进行进一步的解读和分析。所以,还望提供完整一点的日志。
第三点,如果 Excel 文件正被其它应用打开和编辑(例如被 MS Excel本身),那么在 Windows平台下,可能因为文件句柄的控制权的问题,你的 PowerCenter,或者前面提到的转换工具,就不能在同一时间段内去进行访问,这是由 Windows的文件访问控制机制实现的,并不取决于哪一家的技术实现。实际情况,你可以尝试一下,相信你会有答案。
第四点,Informatica目前还没有提供哪种技术手段及产品模块,用于针对 Excel文件进行变更数据的监视和捕获。我们有针对关系型数据库的 CDC(变更数据捕获),那是通过监视数据库日志来实现的。我们也有 Viber Data Stream,可以针对 Flat Files进行内容变更捕获。但是针对 Excel这种特定格式的文档,我们确实还没有相应的 adapter来做这事。建议可以在操作系统的 shell层面上,编写脚本,用于定期轮训这些文件的最近一次修改的日期和时间,并与上一次轮训记录的时间做比较。这样就能发现哪些文件发生过变更,然后就能触发一次针对这部分文件的 ETL过程。
以上思路,还请结合实际情况来分析和采纳。
补充:
最后我采用VBA将excel的数据导入oracle:
使用VBA将EXCEL的数据导入 ORACLE
- informatica 在抽取EXCEL中遇到问题及INFA售后给出的建议。
- informatica 在抽取EXCEL中遇到问题及INFA售后给出的建议
- 在源代码控制、两人合作中遇到的实际问题给出建议或者答疑
- 面试中经常遇到的问题,及建议回答方式
- Informatica遇到问题记录
- IOS在项目中遇到的问题及解决方案
- 在SrollView中嵌套GridView遇到的问题及解决办法
- 关于在创建JFrame中遇到的问题及解决办法
- Intellij 在使用过程中遇到的问题及解决方法
- 在MyEclipse中使用ClearCase插件及遇到的问题
- 在SrollView中嵌套GridView遇到的问题及解决办法
- 在cocoaPods安装及使用过程中遇到的问题
- 在使用AD16中遇到的问题及解决方法
- kettle抽取mongodb数据库遇到的问题
- 数据库安装遇到的问题及密码建议
- EXCEL使用中遇到的问题
- Informatica安装过程中出现问题及解决方法
- Informatica 的端口问题
- Codeforces Round #305 (Div. 1)E. Mike and Friends 后缀数组+RMQ+线段树
- 一些比较实用的书签网址(持续更新中...)
- Android 如何一次结束所有的Activity
- 佳澜补水嫩白面膜
- DetachedCriteria多条件查询or,disjunction
- informatica 在抽取EXCEL中遇到问题及INFA售后给出的建议。
- osg源码编译步骤
- 秦皇岛最好的治疗自闭症的yiyuan
- XPath语法 在.net(C#)中使用XPath示例 doc.selectsinglenode("xpath")
- Thinking in java 第四版 持有对象 p221Arrays.asList()改进
- 佳澜补水祛斑美白面膜
- List::sort排序
- 华商网"H.S.W社团":寻找有创造力的陕西大学生
- 第十二周项目2:摩托车继承自行车和机动车