这段时间由于工作需要,频繁通过Oracle导入/导出大量数据,测试了很多软件,都不理想。PL/SQL Developer导入、导出都卡死;Oracle SQL Developer也是导入、导出都卡的半死;Database.NET导出还行,支持xls和xlsx等多种导出格式,速度也挺快,但导入功能比较弱,支持的格式太少;SqlDbx的导入、导出功能都比较弱,不太实用。
最后试用了Navicat Premium,感觉不错,同时支持多种数据库,不再需要安装多个版本的“Navicat for XXXX”了,特别是用它导入数据到Oracle中,秒杀测试过的所有软件!但也存在一个问题,就是只支持导入xls,就是Excel2003版之前的文件,导入Excel2007以上版本的xlsx文件,提示文件无法打开,很郁闷,上网搜了一些解决方案,说什么用Office把文件打开,然后再导入就可以,试了也还是不行。
今天心血来潮想找一个专门的 Navicat for Oracle 试试,不试不知道,一试吓一跳,果然可以正常导入xlsx文件!开始的时候感觉Premium不如专用版本好,后来看了一下,发现找的Navicat for Oracle是x86版本的,而我的Premium是x64版本,怀疑可能这个问题。马上删除x64版本,安装x86版本,WTF!好了!
最后总结一下,不一定所有的软件都是64位的好,有时候还不如x86好啊!另外怀疑有可能是我系统里的Office是x86版本,如果换成x64版本的话,可能Navicat的x64也就正常了,纯属臆测,未经实际测试,希望有朋友测试一下告知结果。
p.s. 由于一直都是在操作本地localhost的Oracle,也没发现什么异常,今天突然发现不能连接远程的Oracle,只能连接本地的,一连远程的就显示“ORA-12546: TNS: 权限被拒绝”(ORA - 12546 TNS: Permission Denied),上网一搜都是关于oci版本的问题,换了3个版本也不行,都是同样的错误信息。但发现其它软件都可以正常连接远程Oracle,甚至连Navicat for Oracle都可以正常连接,百思不解!最后看到ITPUB里一个伙计的博客里说360导致了这个错误,说软件被360给阻止了,恍然大悟!破解操作的时候按步骤把Navicat Premium 用Windows防火墙给阻止了,解除阻止果然一切OK了!