随着ArcGIS10.1的发布,更多的用户也慢慢接受了使用ArcSDE直连,不仅仅是因为直连是一种趋势(服务连接以后会被弃用),更重要的是直连的性能更加高效。 说明:任何人说他们的10.x环境需要服务连接都是一种借口,要么是他们觉得目前环境还在使用,不希望乱折
随着ArcGIS10.1的发布,更多的用户也慢慢接受了使用ArcSDE直连,不仅仅是因为直连是一种趋势(服务连接以后会被弃用),更重要的是直连的性能更加高效。
说明:任何人说他们的10.x环境需要服务连接都是一种借口,要么是他们觉得目前环境还在使用,不希望乱折腾,怕出问题,要么就是开发商懒得再给你们弄,目前我知道的唯一一个必须使用服务连接的就是ArcGIS9.x版本不能使用直连创建User Schema。所以建议特别是在ArcGIS10.x版本的用户都是用直连。
提示:如果用户使用直连创建9.3版本的User Schema会提示如下错误:" Install/Upgrade/Delete has to be performed by instance schema owner"
ArcGIS9.3.x帮助: Be sure you specify the schema. If it is not specified and only a port number is provided , the SDE schema is used by default. Since the geodatabase in the SDE schema already exists, executing the sdesetup –o install command will upgrade the SDE geodatabase.
使用直连必须的要求就是需要数据库客户端,而且用户使用Oracle数据库比较多,所以今天就再说说Oracle数据库环境的直连。
更多参考 :
ArcGIS10.1自带的数据库客户端介绍:http://blog.csdn.net/linghe301/article/details/8081688
----------------------------------------------------------------------------------
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
1:当使用Oracle10g客户端
使用Oracle10g客户端的用户必须注意了 ,如果你ArcGIS Desktop的软件安装在64位操作系统,那么因为桌面是32Bit的,所以默认安装在C:\Program Files (x86)\ArcGIS\Desktop10.2 的路径下,那么这个“( )”就可能出现大问题,用户不管是使用PL/SQL还是使用Sqlplus都可以正常连接,但是在桌面进行同样输入参数的直连就会出现 Ora-12154 错误。就是因为这个括号导致的。
问题的解决:
a:桌面安装在不带()的路径下
b:用户选择Oracle11g或者更高版本的客户端。
----------------------------------------------------------------------------------
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
2:当使用Oracle11g客户端
ArcGIS10.1版本中,桌面是32Bit的,Server是64Bit的,很多用户这两个软件都安装在一台服务器上,那么就出现需要同时安装32Bit和64Bit的Oracle的客户端的问题。
更多参考:ArcGIS10.1不得不说的故事:http://blog.csdn.net/linghe301/article/details/8139346
这样无疑增加了很多负担,所以Esri建议用户使用Oracle的InstanceClient,其实如果是正版用户,Esri也会附带相关的安装光盘,里面就是这个软件。
http://HdhCmsTestoracle测试数据/technetwork/cn/database/features/instant-client/index-092699-zhs.html
用户只需将32Bit和64Bit的软件下载解压缩到任何地方即可。
然后在环境变量中添加路径即可
这样用户再也无需烦恼找不到不同位数的Oracle的Oci.dll,避免了一些莫名其妙的错误了。
----------------------------------------------------------------------------------
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
如果使用这种方法,如果用户下载的是最简化的InstantClient,默认是不能配置Netservicename的,用户可以使用Oracle的EZConnect写法来代替网络服务名。
EZConnect需要用户了解远程数据库服务器的Ip地址和实例名即可。
书写规范:服务器IP:Oracle端口号/实例名,例如:192.168.1.1:1521/orcl,一般情况下默认Oracle的1521端口号都是公认的,如果没有修改,可以不添加。
当然,使用这种写法,在Oracle服务器的E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN的Sqlnet.ora文件不能禁用EZCONNECT。
# sqlnet.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora # Generated by Oracle configuration tools. # This file is actually generated by netca. But if customers choose to # install "Software Only", this file wont exist and without the native # authentication, they will not be able to connect to the database on NT. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
----------------------------------------------------------------------------------
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
其他说明:Oracle软件的问题比较多。如果用户怎么弄都没有办法解决,不妨看看这些情况是否存在,一般都是Windows环境。
1:Oracle软件卸载不彻底,导致注册表信息、环境变量信息没有彻底删除。
2:安装了多个版本的Oracle软件,而且可能包含不同位数。
其实Oracle数据库分为服务器端和客户端,如果安装了服务器端64Bit,在同一台机器访问就无需安装64Bit的客户端。而且不同版本的客户端连接服务器端都是没有问题的。
3:注意Oracle的实例名、服务名、数据库名,一般情况下都是一样的,不排除对安全要求比较高的用户进行修改。那么在配置一些信息的时候 需要选择正确的名称。
4:默认的InstantClient不包含Sqlplus,用户可以下载包含sqlplus的InstantClient版本
http://HdhCmsTestoracle测试数据/technetwork/cn/topics/winsoft-095945-zhs.html
----------------------------------------------------------------------------------
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
查看更多关于ArcSDE10.xforOracle的客户端直连配置问题的详细内容...