博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARCGIS10.1 GeoDatabase深入理解:客户端连接与退出地理数据库时系统表的初始化
阅读量:6037 次
发布时间:2019-06-20

本文共 932 字,大约阅读时间需要 3 分钟。

平台软件:ARCIGS10.1 ,SQL Server2008R2

目的:了解客户端在连接arcgis 空间地理数据库后,地理数据库会做些什么样的初始化工作

准备工作:

1.准备好数据库日志文件查看工具,通过日志查看工具可以查看对数据库的详细加载过程,本文采用ApexSQL Log 2013工具,目前该工具有试用版,挺好用的。这个

工具可以用来做数据库恢复。

2.准备好一份空间数据库

前提条件:

1.本测试没有包含采用版本机制的情况

2.为了尽量保证测试的单纯性,数据库全部放在本地,没有其他任何人连接。

3.测试连接采用了winform的桌面客户端,没有测试WEB端或手机端的连接,这个以后再测。

步骤:

启动过程:


1.启动一个客户端,并连接地理数据库,通过ApexSQL Log分析数据库的.ldf文件,得出如下记录:(客户端登录连接时间为15:41分)

通过上述操作列表可以看出,地理数据库后台先后操作了SDE_object_ids、SDE_process_information、SDE_state_locks、SDE_table_locks四张表。分别执行Update与Insert操作,这些操作

可以理解为:创建连接——保存连接信息——初始化状态表——初始化要素加载表

这四张表在ARCGIS的帮助文档中可以看到其主要含义:()

在本次测试中,当发生连接时这四张表的数据如下:

此处,数据库中插入的记录为:

可以看到类型为connection

这张表主要记录连接者的信息,在退出后,对应的记录将会被删除

数据库中的记录为:

可以看出四个地理要素都是共享模式(S)

通过registration_id字段,可以在sde_table_registry中查出初始化了哪些地理要素,在这里10,23,24,25都是对应的地理要素的ID

从这个表可以详细看出加载了哪些图层。

退出过程:


从退出来看,执行了逆向的删除操作,从表锁定记录中、状态记录中、客户端进程中删除已经断开的连接信息。

只有SDE_object_ids表中的数据没有删除,每次只执行了更新操作。

总结


通过对加载过程与退出过程的了解,知道了地理数据库的几张表的协同关系以及他们所起的作用。

转载地址:http://gjohx.baihongyu.com/

你可能感兴趣的文章
Solr常用查询语法笔记
查看>>
EBS R11i,R12 导入导出数据库迁移(10g,11g) 以及 R11i, R12 数据库相关文档
查看>>
2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案
查看>>
串口硬流控原理验证RTS与CTS
查看>>
BackTracking_Fixed sum for array elements
查看>>
[转] C#操作Excel文件
查看>>
为什么选择adodb而不用pdo
查看>>
Azure SQL Database (25) Azure SQL Database创建只读用户
查看>>
python 如何使用pip安装第三方软件
查看>>
Hadoop不适合处理实时数据的原因剖析
查看>>
Azure PowerShell (1) PowerShell入门
查看>>
Node.js的静态页面想通过jQuery的Ajax函数调用远程服务的措施无效
查看>>
深刻理解C#的传值调用和传引用调用
查看>>
关于Windows Phone 7的猜想
查看>>
wp7 什么是MVVM模式
查看>>
EBS中form端口及servlet , socket模式问题及form相关配置文件
查看>>
Python标准库:内置函数format(value[, format_spec])
查看>>
SQL LEFT JOIN 关键字
查看>>
算法-插入排序
查看>>
vbs中对于getobject使用WMI的使用说明
查看>>