今天接到一个用户咨询,询问为什么我使用ArcSDE10.1 for Oracle升级SP1提示升级失败,具体错误如下:
[Mon Sep 29 23:27:25 2014]
ST_Geometry Schema Owner: (SDE) Type Release: 1007
[Mon Sep 29 23:27:25 2014] Instance initialized for ((sde)) . . .
[Mon Sep 29 23:27:25 2014] Error: Underlying DBMS error (-51).
[Mon Sep 29 23:27:25 2014] Error: DB_arcsde_setup: Unable to connect
[Mon Sep 29 23:27:25 2014] ORA-00933: SQL command not properly ended
[Mon Sep 29 23:27:25 2014] ERROR installing/upgrading ArcSDE, Error = -51
这个错误其实是ArcGIS的一个Bug。
首选大家了解一下怎么从ArcSDE 10.1升级到ArcSDE10.1 SP1。
1:将ArcGIS 10.1 for Desktop升级到10.1版本
2:ArcGIS 10.1 SP1 for Desktop直连SDE10.1(使用sde用户)
3:在升级过程中可能会提示sde用户缺乏某些升级权限,具体权限会显示在错误信息列表中,用户赋予sde用户权限即可
4:选择.sde用户——右键属性——选择Upgrade Geodatabase。升级即可
导致这个问题一个根本原因就是这应该是一个老用户会碰到的问题,因为在ArcGIS10.1版本之前,使用ArcSDE直连,连接参数通常会使用sde:oracle11g:netservicename这样的输入方式,但是在ArcSDE10.1之后,用户只需要输入netservicename或者easy connection字符串即可,前面的sde:oracle11g系统会自动添加上去,但是连接之后重新选择该连接文件的连接属性,系统又自动将sde:oracle11g的关键字添加上去,所以很多用户觉得直接写入sde:oracle11g:netservicename就可以了,其实系统会自动再添加一个sde:oracle11g,那么就会变成sde:oracle11g:sde:oracle11g:netservicename,这肯定就出现问题了。
这一段比较绕,希望大家慢慢看。
解决方案:连接属性输入netservicename或者easy connection(比如IP:1521/服务名)
| Bug Number | NIM086410 |
|---|---|
| Submitted | Nov 9, 2012 5:51 PM |
| Severity | High |
| Applies To | ArcSDE/Enterprise Geodatabase |
| Version Found | 10.1 SP1 |
| Prog Language | N/A |
| Server Platform | |
| Client Platform | |
| Database | Oracle |
| Locale | N/A |
| Status | |
| Version Fixed | N/A |
| SP Fixed | N/A |
Synopsis
Upgrading an Enterprise geodatabase using a database connection established with the traditional syntax for direct connections fails with error 'ORA-00933: SQL command not properly ended'
Additional Status Information
With the new connection dialog, the best practice is to directly user TNS name or easy connection string for the INSTANCE parameter.
Alternate Solution
Do not use the old syntax of sde:oracle11g:tnsname within the connection that is upgrading the geodatabase. Ensure that a new connection is established with one of the following:
1 - Make a connection to the Oracle geodatabase by typing only the TNSNAME in the 'Instance' textbox and the geodatabase will upgrade successfully.
OR
2 - Modify the sqlnet.ora file on the client machine to enable easy connect:
NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)
Then connect to the geodatabase with the easy connect string (refer to ArcGIS 10.1 documentation) and upgrade the geodatabase.

本文解决了一个用户在尝试将ArcSDE10.1升级到SP1版本时遇到的错误问题,错误信息为“ORA-00933: SQL命令未正确结束”。此问题源于连接字符串中的重复关键字导致的语法错误,通过更改连接参数的方式可有效解决。
8383

被折叠的 条评论
为什么被折叠?



