大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说【SDE】在ArcMap10.8.1、Oracle12102环境下配置SDE空间数据库,并激活st_geometry「终于解决」,希望您对编程的造诣更进一步.
环境准备
客户端
- Windows 10
- ArcCatalog 10.8.1
- 精简版Oracle Client 12 – 32 bit
安装包名称:instantclient-basic-nt-12.1.0.2.0.zip - Navicat Premium 15
服务端
- Windows Server 2019 Standard(桌面体验版)
- Oracle 12.1.0.2
安装包名称:winx64_12102_database_1of2.zip、winx64_12102_database_2of2.zip
版本对应
以下表示ArcGIS Desktop各组件支持连接的Oracle服务端数据库,连接Oracle数据库时,须在Desktop相同计算机上安装对应Oracle版本的32位的客户端(本文以精简版Oracle Client 12 – 32 bit为例)
ArcGIS版本 | Oracle 10g | Oracle 11g | Oracle 12c | Oracle 18c | Oracle 19c |
---|---|---|---|---|---|
ArcGIS 10.2.x | R2(64 位)10.2.0.3 | R1(64 位)11.1.0.7 R2(64 位)11.2.0.1 R2(64 位)11.2.0.3 |
R1(64 位)12.1.0.1 | ||
ArcGIS 10.3.x | R2(64 位)10.2.0.3 | R2(64 位)11.2.0.3 | R1(64 位)12.1.0.1 | ||
ArcGIS 10.4.x | R2(64 位)11.2.0.4 | R1(64 位)12.1.0.2 | |||
ArcGIS 10.5.x | R2(64 位)11.2.0.4 | R1(64 位)12.1.0.2 R2(64 位)12.2.0.1* |
|||
ArcGIS 10.6.1+ | R2(64 位)11.2.0.4 | R1(64 位)12.1.0.2 R2(64 位)12.2.0.1 |
(64 位)18.3.0.0 (64 位)18.4.0.0 |
(64 位)19.3.0.0 | |
ArcGIS 10.7.x | R1(64 位)12.1.0.2 R2(64 位)12.2.0.1 |
(64 位)18.3.0.0、18.4.0.0 | (64 位)19.3.0.0 | ||
ArcGIS 10.8.x | R2(64 位)11.2.0.4 | R1(64 位)12.1.0.2 R2(64 位)12.2.0.1 |
(64 位)18.3.0.0 (64 位)18.4.0.0 |
(64 位)19.3.0.0 |
参考资料
https://resources.arcgis.com/zh-cn/help/system-requirements/10.2/index.html#//01510000006s000000
https://desktop.arcgis.com/zh-cn/arcmap/10.3/get-started/system-requirements/database-requirements-oracle.htm
https://desktop.arcgis.com/zh-cn/system-requirements/10.4/database-requirements-oracle.htm
https://desktop.arcgis.com/zh-cn/system-requirements/10.5/database-requirements-oracle.htm
https://desktop.arcgis.com/zh-cn/system-requirements/10.6/database-requirements-oracle.htm
https://desktop.arcgis.com/zh-cn/system-requirements/10.7/database-requirements-oracle.htm
https://desktop.arcgis.com/zh-cn/system-requirements/10.8/database-requirements-oracle.htm
安装及配置
系统安装
略
客户端
1. ArcGIS 10.8.1
一路下一步就好,详见其它链接
安装完成后,在软件目录下附带各类数据库软件、各系统版本的st_geometry依赖文件,该文件在创建sde、调用空间函数均发挥作用
2. 精简版Oracle Client 12 – 32 bit
- 解压到文件夹
- 将文件夹添加到 系统环境变量 Path
- 在文件夹中新建 tnsnames.ora 文件,键入以下信息
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务端IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
3. Navicat Premium 15
略
服务端 Oracle
- 参照 https://blog.csdn.net/weixin_45775343/article/details/103422775 服务器安装步骤
- 系统类 选用 服务端
- 安装类型 选用 高级安装
- 数据库标识符 取消勾选 创建为容器数据库,勾选后创建用户需以 c## 为用户名前缀,与sde创建冲突(此为12c版本后新特性)
空间数据库搭建
1.在Navicat中测试连接
启动Navicat,使用sys用户连接Oracle数据,测试连接是否生效,注意在高级标签页中将角色设置为SYSDBA
2.在ArcCatalog中测试sys用户连接
- 需确保已安装 32bit Oracle Client
- 启动ArcCatalog
- 在 数据库链接 中,点击 添加数据库连接
- 如下所示,选用Oracle,输入数据ip/实例名,输入sys账号密码
- 连接成功后出现,ip.sde 选项,并可展开查看数据表
- 如出现 Ora-12504 错误,一般是没配置 tnsnames.ora 或配置错误,详见上文
3. 将st_geometry拓展文件拷入Oracle目录
- 随ArcGIS安装,在 <Desktop安装目录>DatabaseSupportOracleWindows64 文件夹下有win64版Oracle的st_geometry文件,名为 st_shapelib.dll
- 将 st_shapelib.dll 拷入Oracle服务端bim目录下,默认安装时路径为 C:appOracle12product12.1.0dbhome_1BIN
4. 创建sde
- 启动ArcCalalog,在 工具箱>系统工具箱>Data Management Tools.tbx>地理数据库管理>创建企业级地理数据库
- 按如下配置参数
- 此步骤出现ORA-65096错误,一般是容器数据库类型导致,应在安装时取消相关选项,或参照其它文章重新配置
5. 以sde角色连接数据库
- 同步骤 2.在ArcCatalog中测试sys用户连接
- 用户及密码更改为新创建的 sde
- 连接完成后,出现 ip.sde, 展开并右键,出现可新建要素等空间数据类型选项,代表创建成功
6. 激活st_geometry空间函数库
参照 https://blog.csdn.net/weixin_42876784/article/details/114832026
- 确保完成 3. 将st_geometry拓展文件拷入Oracle目录
- 参照 1.在Navicat中测试连接 使用Navicat连接Oracle数据库,注意角色为sde
- 点击新建查询,输入以下命令
create or replace library ST_SHAPELIB as "C:appOracle12product12.1.0dbhome_1BINst_shapelib.dll";
alter package sde.st_geometry_shapelib_pkg compile reuse settings;
- 在Oracle服务端中打开 C:appOracle12product12.1.0dbhome_1NETWORKADMINlistener.ora 文件
- 修改dll配置为ANY,如
(ENVS = "EXTPROC_DLLS=ANY")
- 保存listener.ora并在系统服务中重启Oracle相关服务
- 在Navicat中执行以下查询语句,测试st_geometry拓展是否已配置
select * from user_libraries where library_name = "ST_SHAPELIB";
- 输出结果包含st_shapelib.dll,代表配置成功
7. 测试st_geometry函数
- 参照 1.在Navicat中测试连接 使用Navicat连接Oracle数据库,注意角色为sde
- 点击新建查询,输入以下命令
SELECT sde.st_geometry("point (110.06544906 34.52209921)", 4326) FROM DUAL;
- 无报错误,并输出结果,代表函数成功被识别,并可执行
至此,搭建及配置已完成
原文地址:https://www.cnblogs.com/wongjzzz/archive/2022/05/06/16225729.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5301.html