好久没写AE的东西了,好多东西都忘记了,这里记录一下直连Oracle,注意instance的拼接。

/// <summary>
        /// 连接Oracle数据库SDE
        /// </summary>
        /// <param name="sAddress">连接IP</param>
        /// <param name="sInstance">数据库实例名orcl</param>
        /// <param name="sUser">用户名</param>
        /// <param name="sPassword">密码</param>
        /// <returns></returns>
        public IWorkspace Con2OracleSDE(string sAddress, string sInstance, string sUser, string sPassword)
        {
            IWorkspaceFactory pSdeWksFactory = new SdeWorkspaceFactory();
            IWorkspace pWorkspace = null;
            try
            {
                IPropertySet propSet = new PropertySetClass();
                propSet.SetProperty("server", sAddress);
                //propSet.SetProperty("instance", "sde:oracle11g:" + sAddress + @"/" + sDBName);
                //propSet.SetProperty("instance", "sde:oracle11g:" + sDBName);
                propSet.SetProperty("instance", "sde:oracle11g$//" + sAddress + "/" + sInstance);               
                propSet.SetProperty("user", sUser);
                propSet.SetProperty("password", sPassword);
                propSet.SetProperty("version", "SDE.DEFAULT");

                pWorkspace = pSdeWksFactory.Open(propSet, 0);
                return pWorkspace;
            }
            catch (Exception ex)
            {
                return null;
            }
        }


另外也可以通过ArcCatalog中配置的数据库连接(.sde文件)进行数据库连接。

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Jingkunliu/p/15816459.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!