• Arcgis10.1 Arcobject连接Oracel数据库


      原来使用Arcgis9.3的版本,现在升级到了10.1遇到不少问题,原来初始化工作空间的代码无法正常运行了,修改后的代码如下:

    static void Test()
            {
                IPropertySet sdeProperties = new PropertySetClass();
                sdeProperties.SetProperty("INSTANCE", "sde:oracle10g:T194");
                sdeProperties.SetProperty("DATABASE", "sde");
                sdeProperties.SetProperty("USER", "sde");
                sdeProperties.SetProperty("PASSWORD", "sde");
                sdeProperties.SetProperty("VERSION", "sde.DEFAULT");
    
                IWorkspace sdeWorkspace = CreateSdeWorkspace(sdeProperties);
            }
    
    
            /// <summary>
            /// Retrieves an SDE workspace using the specified property set.
            /// </summary>
            /// <param name="propertySet">The connection parameters.</param>
            /// <returns>An IWorkspace reference to an SDE workspace.</returns>
            public static IWorkspace CreateSdeWorkspace(IPropertySet propertySet)
            {
                // Create the workspace factory and connect to the workspace.
                Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");
                IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factoryType);
                IWorkspace workspace = workspaceFactory.Open(propertySet, 0);
                return workspace;
            }

      

    需要注意的地方:

    1. 原来9.3连接实例(INSTANCE)的值为:SDE:ORACLE10G,在10.1中的值改变了,而且必须要小写
    2. 在10.1中参数值:sde:oracle10g:T194,含义:sde:oracle10g为指定应数据和库版,可以查看一下oracle版本,语句:select * from v$instance;T194:对应oracle客户端在Net Manager中的“服务命名”
    3. 这里调用的其实是Desktop中的组件,但Desktop是运行在32位环境的,所以服务器上也必须安装Oracle 32位客户端,顺序是这样的:先安装32位客户端,再安装64位客户端,也可以直接修改环境变量
  • 相关阅读:
    2019.9.18 csp-s模拟测试46 反思总结
    2019.9.17 csp-s模拟测试45 反思总结
    矩阵求导(包含极大似然估计)
    sir
    Square into Squares. Protect trees!(平方数分解平方和)
    最小二乘法
    2.5&2.6 numpy&pandas 笔记
    2.4 python学习笔记
    2.3 python学习笔记
    2.1&2.2python学习笔记
  • 原文地址:https://www.cnblogs.com/myssh/p/3491143.html
Copyright © 2020-2023  润新知