WeiYe-Jing/datax-web

SQL server下只能访问默认schema下表的字段,oracle不能访问同义词表

Open

#125 opened on May 28, 2020

View on GitHub
 (0 comments) (1 reaction) (0 assignees)Java (5,195 stars) (2,045 forks)batch import
good first issuenew featurevolunteer wanted

Description

1.在测试中发现任务构建步骤reader下,在访问SQL server数据源时,只能显示该用户默认schema拥有的表的字段,而其他schema下的表字段无法显示出来,无法简单构建任务; 例如 默认模式是dbo,dbo.test01就可以显示字段,但base.test02就无法显示字段;

现有我的解决办法是在reader中的querySql框中写出所要查的表 select * from base.test02,在点击解析字段; 然后就会出现base.test02的字段;但这总方法有个问题就是在生成json的时候,源表只是test02,而不是所需要的base.test02,所以在运行任务的时候会出现找不到源表的问题,这个问题应该是生成json的时候读取的表来源于表选择框,而不是querySql框解析出来的表;

2.writer步骤的问题也存在SQL server不同schema下的表找不到字段的情况,而且这种bug是没办法避免的,因为writer没有querySql框,无法直接去库中查找特殊表的字段;所以希望后期可以在writer步骤也加一个querySql框,用来解决这一类问题;

3,oracle数据源下无法查找同义词和视图等表,这个问题在其他数据库应该也存在;这个是个很严重的问题,直接导致这个产品能不能使用的情况,因为生产上存在大量的视图和同义词;

针对以上问题,不同数据库要做到通用性应该不容易;我感觉最简单的处理办法还是利用reader中的querySql框和在writer中新增querySql框 来解决这写异构性问题; 在使用querySql框后,生成json时所用到的表应该直接来源于querySql框解析出来的表; 当然这样的操作就需要表选择框时空时,能直接进行下一步,而不会出现报错的情况;

无法上传图片,网速太慢!!! 希望老大们能尽快解决这一类问题,谢谢

Contributor guide