微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ArcSDE10.5 For Oracle12.2的支持问题

这两天连续碰到同事问10.5对Oracle 12.2的支持问题,Esri的System Requirements里面明确10.5只支持Oracle 11.2.0.4和Oracle12.1.0.2.0两个版本。

美国给的答复是:10.5还不支持12.2,具体什么时候支持不清楚。

这两天搭建了一个linux机器,安装了Oracle 12.2,对其进行了测试。结果如下:

测试1:使用ArcGIS10.5创建企业级地理数据库,报如下错误

测试2:将已经创建好的版本是12.1.0.2.0的schema通过oracle的expdp和impdp工具迁移到新的12.2的库上,然后使用桌面进行连接,依然报上面的错误

将测试2的后台执行的sql抓出来,发现调用了如下的sql语句。

PARSING IN CURSOR #140419854666944 len=21 dep=0 uid=107 oct=3 lid=107 tim=1917364232784 hv=708348750 ad='6a4f5400' sqlid='d6r1mk4p3j2uf'
SELECT USER FROM DUAL END OF STMT PARSE #140419854666944:c=1000,e=1221,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,plh=1388734953,tim=1917364232783 EXEC #140419854666944:c=0,e=22,mis=0,tim=1917364232917 WAIT #140419854666944: nam='sql*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1917364233009 FETCH #140419854666944:c=0,e=15,r=1,tim=1917364233077 STAT #140419854666944 id=1 cnt=1 pid=0 pos=1 obj=0 op='FAST DUAL (cr=0 pr=0 pw=0 str=1 time=2 us cost=2 size=0 card=1)' WAIT #140419854666944: nam='sql*Net message from client' ela= 323 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1917364233557 CLOSE #140419854666944:c=0,e=6,type=0,tim=1917364233621 ===================== PARSING IN CURSOR #140419854666944 len=80 dep=0 uid=107 oct=47 lid=107 tim=1917364233759 hv=1948418075 ad='73b826c0' sqlid='746w6fdu2500v' BEGIN /* ArcSDE plsql */ dbms_utility.db_version (:version,:compatibility); END;
END OF STMT PARSE #140419854666944:c=0,e=82,plh=0,tim=1917364233758 BINDS #140419854666944: 

发现只执行了两个sql语句,第一个获取用户名,第二是获取数据库的版本。从上面执行的sql语句能判断出来,ArcGIS获取oracle的版本,发现是12.2,不在支持的范围内,因此退出

测试3: 既然通过oracle的dbms_utility.db_version获取到的Oracle的版本信息,那是不是可以通过修改这个存储过程,强行让其返回12.1的信息。答案是可以的,具体过程不在此介绍,感兴趣的可以私聊。

原文地址:https://www.jb51.cc/oracle/208913.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐