详细的解释一下:
1、SDE安装成功后在SQL Server中便会有相关的二维表,但是还不能通过Arc Catalog或者代码连接,必须要进行POST,成功后方能使用。
2、POST时最后一步便会叫你填写SDEserver(服务器名,默认为你计算机名)、service(其实代码中的实例instance就填这个名字,默认为esri_sde)、database(数据库名,默认为sde)、uername(默认为sa)、password(自行设置)。
3、如果POST成功,可以通过打开Catalog的Add Spatial Database Connections,填写上述信息后测试连接是否可用,如果可用,那么你就可以在上述的代码运行d出的窗口中输入相关信息了。
4、说明一下,ArcSDE虽然是架构在SQL Server之上,但是查看或编辑创建的数据集或者要素类这些是在Catalog里,SDE、Catalog、SQL Server、Visual Studio之间的关系是:SDE是桥梁,SQL Server是桥的一头,负责处理连接的请求,空间数据由SDE转换成二维表,SQL Server进行最底层的二维表管理,Catalog是桥的另一头,负责空间数据的可视化查看。Visual Studio是汽车,可以随时从SDE桥梁上经过访问或者编辑SQL Server那一头的数据库。
5、最后回答您的问题:虽然问的比较乱,还是简单回答一下,(1)你用这段代码建立的是与SDE数据库的连接,如果还需要实现你标题的内容(Geodatabase数据库连接与矢量数据集创建及导入的代码)还要别的代码,
(2)建立的数据库是在Catalog中查看,SQL Server肯定也对SDE这个数据库进行了更改,(但是这是SDE和SQL Server负责,具体的更改估计你也找不着)
(3)要填的信息在以上我说的第二点。
在目录树点击数据库连接。
打开Arcmap,在目录树点击数据库连接-添加数据库连接或者,在ArcCatalog中打开目录树进行 *** 作。
ArcMap是一个用户桌面组件,具有强大的地图制作,空间分析,空间数据建库等功能。
1、关闭数据库连接可以解决。
2、关闭所有的ArcMap和ArcCatalog。
3、在sqlplus或者plsql下查询LOCK表。
4、如果有记录返回,手工删除这些表中的所有数据记录。
Geodatabase地理数据库的建设需要分层次进行,首先确定是Personal GEO还是EnterpriseGEo。
1、建立要素数据集,包括Feature dataset、Raster Catalog、Raster dataset等。
2、建立要素类,在相应的数据集中建立必须的要素类。
3、创建关系类。
4、定义域、子类型和关系规则。
具体创建地理数据库有两种方式:Arc Catalog和Case Tool(UML)
建议:第一种方式请看:Building a Geodatabase(pdf)文档。
第二种方式请看:Modelling Our World
ArcGis常见错误及解决方法
1、ArcSDE数据被锁定后的解锁方法
(1)删除所选对象失败 锁定请求与已有锁定冲突。
(2)在sde数据被锁定的情况下,编辑、创建featureclass或者注册版本的时候会报告:
Lock request conflicts with an established lock。
多半情况下关闭数据库连接可以解决这个问题,但有时候问题依然存在。
原因:ArcSDE数据被锁定
解决:sqlplus下查询lock表,如果有记录返回,那么手工删除这些表中的记录。
select t,trowid from sdestate_locks t;
select t,trowid from sdeobject_locks t;
select t,trowid from sdelayer_locks t;
select t,trowid from sdetable_locks t;
查询谁锁定:
select t,trowid from sdeprocess_information t;
解决2:
1关闭所有的ArcMap和ArcCatalog session。
2开始——运行——cmd
3 在dos下运行命令'sdemon -o kill -t all -p sde'
在dos下运行命令'sdemon -o info -I locks'
以上命令均不带 ' 符号
dos窗口报告'no arcsde layer/State/Tabel/Ojbects Locks registered
一般这种情况下就可以解锁了
2、基础 DBMS 错误 ORA-01950: 对表空间 'SYSTEM' 无权限
描述:新建用户(默认表空间SYSTEM)后用于上传shp,提示该错误
原因:对表空间权限不足,无法提交数据到该表空间
解决:对用于存储矢量数据的用户授权
-- Grant/Revoke role privileges
grant connect to user_name;
grant resource to user_name;
grant select_catalog_role to user_name;
-- Grant/Revoke system privileges
grant unlimited tablespace to user_name;
3、任何ArcGIS连接Oracle问题
描述:ArcMap、ArcCatalog连接Oracle失败问题
原因:一般会直接d出错误信息,若信息不全,请参考%TEMP% 目录中的 sdedc_Oraclelog 文件以获得更多的错误消息。
4、创建要素类时报错:表已存在[ORA-00955:名称已由现有对象使用]
方案1:
使用sde自带的取消表注册的命令
sdetable -o unregister -t tablename
方案2:
查询注册的表、列信息,删除对应数据
SELECT FROM sdeLAYERS WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT FROM sdeTABLE_REGISTRY WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT FROM sdeCOLUMN_REGISTRY WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT FROM sdeGEOMETRY_COLUMNS WHERE F_TABLE_SCHEMA = 'username' AND F_TABLE_NAME = 'classname';
SELECT FROM sdeGDB_ITEMS WHERE "NAME" = 'usernameclassname';
5、ArcGIS 注册版本长时间无响应处理案例
注册版本的内部原理以及解决方法:
注册版本实际上就是为要注册的要素类创建增量表(A,D表),如果对数据集注册版本,实际上就是对数据集下的所有要素类都创建
增量表(是一个要素一个A表一个D表),如果创建到一半无响应后直接杀进程就会出现有些要素类创建了增量表而有些没有创建
增量表这种不一致的状态,因此解决的方法就是手动清除这部分创建好的增量表,让数据集处于一致的状态。
解决步骤:
(1)清除可能存在锁信息。
(2)清除增量表
增量表的定义方式为A_REGISTRATION_ID和D_REGISTRATION_ID 其中REGISTRATION_ID为SDETABLE_REGISTRAY表中的
REGISTRATION_ID字段的值,每张要素类一个值。根据数据集下的图层名称一个一个查找,知道后使用Drop table 删除。
select registration_id from sdetable_registry where table_name=’table_name’
(3)重新注册。
相关阅读:
以上就是关于用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接全部的内容,包括:用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接、arcmap怎么同时多个编辑开起、arcgis数据库无法重命名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)