ArcGIS 客户端跨版本连接Oracle 地理数据库时的兼容性说明

时间:2021-09-06 21:59:38

很多用户都会有这样的疑问:

1:我是否可以使用ArcGIS Desktop9.3连接ArcSDE10

2:我是否可以使用ArcGIS 10.1 for  Desktop连接ArcSDE10

如果可以的话,在性能方面与同版本连接是否有所区别?

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                                    名词解释                                                           

一般情况下,我们都会把一个信息化架构分为:客户端和服务器端,那么用户问题的原因就是客户端与服务器端的版本不一致的疑惑。

对ArcGIS产品来说:

客户端:ArcGIS Desktop、ArcGIS Server、ArcIMS、ArcGIS Engine等产品

服务器端:Geodatabase(个人、文件、企业级)


                                              为什么有这样的需求呢?                                         

1:不得不承认,ArcGIS产品的版本更新比较频繁,基本上一年一个小版本号,其实这样符合主流软件厂商的版本更新进度。例如Oracle也是一年一个小版本号。

2:一般情况下,用户对升级并不排斥,客户端随便怎么升级都可以,但是服务器端的升级例如企业级地理数据库(Oracle)的升级是所有用户都要考虑的事情,特别是牵涉到数据库,一旦升级过程中有问题,业务的暂停时间可能就是金钱和粘合度的损失。这也促成了用户采用保守升级,只升级客户端,不升级服务器端,就产生了第二个问题。

3:还有很多情况,比如一个省级单位下发相关数据,由于省级与各地方县市级的版本并不是完全一致,就可能出现省级下发的数据版本,地方软件打不开的情况。

4:开发商做项目,不同用户选用的版本是不一样的,在用户的环境下存在多个不同版本的数据库环境,但是可能在一些情况下,开发商没有时间再去建立多个客户端环境,多以就出现了第一个问题。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                    ArcGIS产品版本和补丁说明                                                 

简单的说,ArcGIS从9版本开始经历了9.0、9.1、9.2、9.3、9.3.1、10、10.1、10.2、10.2.1版本,每一个版本又发布了相关的SP补丁以及相关的Hotfix,比如ArcGIS10补丁包含5个SP补丁,SP1到SP5,还有Esri发布的紧急解决普遍和关键问题的Hotfix,所有这些都可能造成客户端与服务器端的版本差异。


查看版本工具:

Windows:PatchFinder for Windows

非Windows: PatchFinder for Unix


                                        ArcGIS跨版本连接原则                                                    

原则上说,Esri建议用户客户端与服务器端的版本(包括SP补丁)尽可能的保持一致,但是运行高版本的客户端连接低版本的服务器端,也有限允许低版本的客户端连接高版本的服务器端。


特别说明:ArcGIS9版本 与ArcGIS10版本从名称来说是一个大版本的升级,对Geodatabase的结构有了根本性的变化,所以ArcGIS9客户端是无论如何都不能连接ArcGIS10以上的服务器端的。


特殊情况,比如ArcGIS9.2升级到SP5以上可以连接ArcSDE9.3,不过应注意,当从先前版本的客户端应用程序进行连接时,特定于 9.3 版地理数据库的功能不再可用。

同样,ArcGIS10无需升级也可以连接ArcSDE10.1,同样特定与10.1版本地理数据库的功能不再可用。

从 ArcGIS 10.1 起,您无需再将地理数据库升级到当前版本,即可使用下列地理数据库功能:

  • 使用注记要素类和尺寸要素类编写 Python 脚本
  • 在表和要素类上进行编辑者追踪
  • 版本 10.1 的网络数据集,包括实时交通流量数据、软约束条件、首选货车路径以及 Python 脚本赋值器等功能。
  • 版本 10.1 的镶嵌数据集,包括改进了接缝线和轮廓的生成、支持更多的栅格类型、附加属性和用于为已知错误或限制来分析镶嵌数据集的工具

从 ArcGIS 10.1 客户端连接到版本 10 地理数据库时,您可以使用 10.1 功能创建数据集,同时仍允许 ArcGIS 10 客户端连接并使用地理数据库。此向前兼容性可帮助您迁移到 ArcGIS 10.1 和更高版本,因为它允许您借助新功能迁移桌面客户端,而无需升级服务器。


虽然 ArcGIS 10 客户端可以在 10.1 和 10.2 地理数据库中打开、查询、编辑和保存数据,但不能打开具有 10.1 或 10.2 功能的数据集,并且在尝试打开其中一个数据集时会出现以下错误消息:

The version of the Geodatabase client is incompatible with the dataset and cannot open it.

同样地,您可以通过 ArcGIS 10.2.1 将字段冲突过滤器应用于版本化表和要素类。但是,如果您使用 ArcGIS 10.2 或较低版本的客户端尝试打开这些版本化表和要素类,您将收到之前所述的错误。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                                  混合版本连接的规则                                         
在决定是否使用混合版本连接时,应谨记以下信息:

在从较新版本的客户端连接到较早版本的企业级地理数据库时,只能使用您的地理数据库版本的可用功能。例如,不能从 ArcGIS 10.1 客户端连接到 10 版本的地理数据库以及启用编辑器追踪来编辑数据集,因为在 10 版本的地理数据库中未实现编辑器追踪。这也适用于 C 和 Java API 功能;如果要连接的地理数据库版本中不存在此功能,则不能使用较新的 C 或 Java API 功能。


要从 ArcGIS 客户端链接至先前版本的企业级地理数据库,则必须将此地理数据库升级至对应版本的最新补丁包或最新修补程序。例如,如果要从 ArcGIS 10.1 for Desktop 连接到 10 版本的企业级地理数据库,则必须对该地理数据库应用最新版本的 10 补丁包或修补程序。


关键的是,Esri并没有明确说明,一个客户端新版本的功能那些是依赖于Geodatabase新版本,哪些无需依赖新版本的Geodatabase。


                                                            兼容版本                                                     
您不必将地理数据库和 ArcGIS 客户端版本保持一致。只需注意的是,当相连接的地理数据库和 ArcGIS 客户端版本不同时,提供的功能可能有限。

下表说明了本主题开头列出的客户端应用程序版本可与哪些地理数据库版本相连接:

客户端版本

个人地理

数据库版本

文件地理

数据库版本

使用直连的企业级、

工作组

或桌面地理数据库

使用 ArcSDE 服务连接的企业级地理数据库

9.3

9, 9.1, 9.2, 9.3

9.2, 9.3

9.3(如果客户端安装了

 9.3 之前版本

的地理数据库直接连接文件*,

则可以连接到 9、9.1 和 9.2)

9, 9.1, 9.2, 9.3

10**

9.1, 9.2, 9.3, 

10, 10.1, 10.2

9.2, 9.3, 10, 

10.1, 10.2

9.2, 9.3, 10, 10.1, 10.2

9.2, 9.3, 10, 10.1, 10.2

10.1

9.2, 9.3, 10, 

10.1, 10.2

9.2, 9.3, 10, 

10.1, 10.2

9.3, 10, 10.1, 10.2

9.3, 10, 10.1, 10.2

10.2.x

9.2, 9.3, 10,

 10.1, 10.2

9.2, 9.3, 10,

 10.1, 10.2

9.3, 10, 10.1, 10.2

9.3, 10, 10.1, 10.2


*9.3 之前版本的直连驱动程序是在 ArcGIS 9.3 客户端安装媒介上提供的可选独立安装。
**Esri 建议与 10.1 或更高版本的地理数据库相连的 ArcGIS 10 使用 10 SP2,其中包含几个修复程序,可以改善连接到 10.1 或更高版本地理数据库的用户体验。


----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                       何时需要升级地理数据库?                                               
许多情况下,升级地理数据库是可选操作。但如果出现以下情况之一,则可能必须执行升级:

  • 您使用的客户端版本无法连接到您想要使用的地理数据库版本。
  • 您想要使用较新版本地理数据库中提供的功能。


                                         为何不升级地理数据库?                                                 

在有些情况下,您无法升级地理数据库。如果贵组织使用的客户端必须处于先前版本的 ArcGIS,您必须等到这些客户端可以升级到可兼容版本时再升级地理数据库。

例如,将地理数据库升级到 10.1 版之前,确保将所有客户端至少升级到 ArcGIS 10,以使其可以连接到地理数据库。如果并非所有客户端均可进行升级,您需要确定此时升级地理数据库是否合适。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                                          关于直连                                                        

从ArcGIS Desktop10升级补丁就可以看出Esri推荐用户使用直连,那么又一个新问题,跨版本的直连连接。

在ArcGIS9版本,比如ArcGIS9.3.1直连连接ArcSDE9.2,就需要安装ArcGIS 9.3.1 GDB Direct Connect for 9.2 Clients 驱动程序。


下面总结一下跨版本直连的说明

A 9.0, 9.1, or 9.2 client connecting to an older release ArcSDE geodatabase 
If the ArcGIS client being used is at release 9.0, 9.1, or 9.2, the ArcSDE geodatabase must be on the same release to be able to make a direct connection. For example, if connecting from ArcGIS Desktop 9.0, a direct connection cannot be made to an ArcSDE 8.3 geodatabase. The geodatabase must be upgraded to 9.0 to allow the direct connection to work.
如果ArcGIS客户端是9.0, 9.1, or 9.2,那么只能直连相同版本的ArcSDE,例如ArcGIS Desktop9.0不能直连ArcSDE8.3,如果希望直连必须升级ArcSDE9.0.

ArcGIS 9.0, 9.1, or 9.2 (up to SP4) client connecting to a newer ArcSDE geodatabase 
This is not supported. For example, an ArcGIS 9.1 client cannot make a connection to an ArcSDE 9.3 geodatabase. The client would need to be upgraded to at least ArcGIS 9.2 Service Pack 5 to connect to an ArcSDE 9.3 geodatabase.
ArcGIS 9.0, 9.1, or 9.2 (up to SP4) 客户端也不支持跨版本的ArcSDE连接。例如ArcGIS9.1客户端不能连接ArcSDE9.3.但是ArcGIS9.2客户端如果升级到SP5以上就可以连接ArcSDE9.3

A 9.2 client connecting to an ArcSDE 9.3 or 9.3.1 geodatabase 
If the ArcGIS client being used is at release 9.2, applying Service Pack 5 or 6 to the client and installing the ArcGIS 9.3.1 GDB Direct Connect for 9.2 Clients Setup on the client allows direct connections to be made to an ArcSDE 9.3 or 9.3.1 geodatabase. 
如果ArcGIS9.2的客户端升级到SP5补丁以上,而且又安装了ArcGIS 9.3.1 GDB Direct Connect for 9.2 Clients的直连驱动,那么就可以直连ArcSDE9.3或者9.3.1

A 9.3.x client connecting to an ArcSDE 9.2, 9.1, or 9.0 geodatabase 
If the connecting ArcGIS client is at release 9.3, the ArcGIS Pre-9.3 GDB Direct Connect Setup can be run on the client to allow it to make direct connections to ArcSDE 9.2, 9.1, or 9.0 geodatabases. The ArcGIS Pre-9.3 GDB Direct Connect Setup can be found on the client installation media. 
如果ArcGIS客户端是9.3,那么如果安装了ArcGIS Pre-9.3 GDB Direct Connect直连驱动,就可以直连ArcSDE9.0、9.1、9.2版本。相关驱动在安装介质中可以获得。

 This option is not available if connecting to ArcSDE geodatabases for Informix. It is also not available if connecting to ArcSDE 9.0 or 9.1 geodatabases in Oracle 8i.
如果数据库是Infomix该方式不可行。

ArcGIS 10 client connecting to a 9.2, 9.3, or 9.3.1 ArcSDE geodatabase 
No additional ArcGIS configuration is required to make this connection. If connecting to Oracle, DB2, or Informix, DBMS client must be installed on the connecting client machine.
ArcGIS10客户端可以直接连接9.2, 9.3, or 9.3.1的ArcSDE。如果进行直连,需要安装数据库客户端

ArcGIS 10 client connecting to a 9.1 or earlier release ArcSDE geodatabase 
This is not supported.
ArcGIS10客户端不支持直连9.1的ARcSDE

ArcGIS 10.1 client connecting to a 9.3, 9.3.1, or 10 ArcSDE geodatabase 
No additional ArcGIS configuration is required to make this connection. DBMS clients must be installed on the connecting client machine.
同样ArcGIS10.1客户端可以直连连接9.3, 9.3.1, or 10 的ARcSDE,数据库客户端必须安装。

ArcGIS 10.1 client connecting to a 9.2 or earlier release ArcSDE geodatabase 
This is not supported.
ArcGIS10.1客户端不支持直连ArcSDE9.2

ArcGIS 10 client connecting to a 10.1 ArcSDE geodatabase 
No additional ArcGIS configuration is required to make this connection. DBMS clients must be installed on the connecting client machine.
ArcGIS10客户端可以连接ArcSDE10.1,需要安装数据库客户端。

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------


                                            关于直连客户端的说明                                                 

一般情况下,ArcGIS直连都需要安装相应的数据库客户端,以常见的Oracle为例,ArcGIS Desktop、ArcGIS Engine截止到10.2.2版本只有32Bit,所以需要安装Oracle32Bit客户端,ArcGIS Server10.1之前版本是32Bit,ArcGIS Server10.1之后都是64Bit,所以需要安装相应位数的Oracle客户端。

对SQL Server可能有所差别,32Bit的SQL Server客户端是不能安装在64BIt的操作系统上,所以不管桌面是32Bit的,还需要安装64Bit的数据库客户端,不过一般情况下Windows操作系统都会自动集成这些组件。


                                                             总结                                                           

如果是高版本客户端连接低版本服务器端都可以

如果是低版本客户端连接高版本服务器端有限可以

只所以使用“可以”,就是因为Esri官方没有明确说明跨版本连接在性能方面是否与同版本一致。


                                                              更多参考:                                                 

ArcGIS10.2.x

DB2 中客户端和地理数据库之间的兼容性Informix 中客户端和地理数据库之间的兼容性Oracle 中客户端和地理数据库之间的兼容性PostgreSQL 中客户端和地理数据库之间的兼容性SQL Server 中客户端和地理数据库之间的兼容性

ArcGIS10

DB2

客户端与 DB2 中的 ArcSDE 地理数据库的直接连接

使用 ArcSDE 服务时客户端与 DB2 中地理数据库之间的兼容性

Informix

客户端与 Informix 中的 ArcSDE 地理数据库的直接连接

使用 ArcSDE 服务时客户端与 Informix 中地理数据库之间的兼容性

Oracle

客户端与 Oracle 中的 ArcSDE 地理数据库的直接连接

使用 ArcSDE 服务时客户端与 Oracle 中地理数据库之间的兼容性

PostgreSQL

客户端与 PostgreSQL 中的 ArcSDE 地理数据库的直接连接

使用 ArcSDE 服务时客户端与 PostgreSQL 中地理数据库之间的兼容性

SQL Server

客户端与 SQL Server 中的 ArcSDE 地理数据库的直接连接

使用 ArcSDE 服务时客户端与 SQL Server 中地理数据库之间的兼容性

----------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------