当前位置:首页 » 编程语言 » sdesql

sdesql

发布时间: 2022-05-24 20:26:06

1. 通过sql语句 插入SDE.ST_GEOMETRY类型的值

ST_GEOMETRY是空间数据类型,ESRI公司的东西,除非你知道它的二进制数据序列化规则,否则是做不到用SQL语句直接存储该种字段值的。
还是乖乖去用ArcEngine SDK吧。

2. 使用ArcSDE SQL操作怎么获得新对象的objectid、GUID

BBS.SASAOO.COM 现在大家很喜欢使用ArcSDE 的SQL 操作,这种方式在特殊的环境要求下显得比较方便,那么使用 SQL 操作最多的是读和写,而写最多的就是新建一个对象,那么翻译成SQL 语言就是使用insert 方 式比较多,那么问题出来了,大家都知道ArcGIS 的每一个要素类都是有ObjectID 的,而且这个字 如果对ArcSDE 戒者是数据库比较熟悉的话,可能会将要素类(数据库层次就是表),表对象的序列 找出来,其实ObjectID 走的也是一个序列,然后获得nextValue 即可,这种方式是不严谨的。 下一个可用对象 ID 丌一定是最后所插入对象 ID 之后的下一个顺序编号。某些客户端应用程序的 对象 ID 会进行批量分配,因此下一个可用对象 ID 的编号可能比最后使用的对象 ID 大许多。同 样,批中任何未使用的对象 ID 会返回可用值池中,这意味着下一个可用对象 ID 值可能实际上小 于最后插入的对象 ID 值。 使用 sde.version_user_ddl 包中的 next_row_id 函数为对象 ID 生成新的唯一值。 next_row_id 函数使用两个参数:所有者和注册 ID。所有者是拥有该表的用户的名称。注册 ID 来 自 TABLE_REGISTRY ArcSDE 系统表。利用表的所有者名称和注册 ID,可创建 SQL 语句来填充 对象 ID 列。操作步骤:1:连接到Sqlplus BBS.SASAOO.COM -- 财经 医疗 软件 娱乐 养生 综合信息论坛 BBS.SASAOO.COM 2:找到操作对象要素类对应的注册ID 1. SELECT registration_id FROM sde.table_registry WHERE table_name = 'STREAMS' and owner = 'ENG2';2. 3. REGISTRATION_ID 131 3:进行操作

3. 为什么sql2000里在sde查询在表前需要加sde.

sde是用户么?
没张表都有自己所属的用户
默认情况下
select * from i1 表示表i1是dbo用户的
如果不行,说明dbo没有这张表,表前则必须加上其所属的用户

规则:select * from [服务器].[数据库].[所有者].[表]

4. 如何在SQL Server中创建SDE地理数据库

在ArcCatalog或者ArcMap中打开ArcToolBox工具箱。

在工具箱中,找到创建企业级地理数据库工具,依次为数据管理工具→地理数据库管理→创建企业级地理数据库,如图所示。

双击打开创建企业级地理数据库工具,依次填写所需内容。其中实例指服务器IP地址,数据库为要创建的SDE数据库名称,授权文件指ecp文件(一般都在安装包的破解文件里),地理数据库管理员密码自行设置,满足规范即可(一般设置为sde,若计算机有密码策略则需满足,此处的密码需与客户端连接SDE时的密码保持一致),如图所示:

点击确定,等待数据库创建完成,完成后可以在Sql Server中看到所创建的SDE登录名和对应的数据库。

5. 什么是SDE数据库

SDE中文意思空间数据库引擎,属于ESRI公司ArcGIS系列产品,通过他可以将空间数据库存储到SQL Server或Oracle中,它主要起中间作用,通过它也可将空间数据库从SQL Server或Oracle中读取出来,组织为ArcGIS可识别的方式。

6. 怎样把ArcGIS图层数据添加在sde数据库中(SQL Server)

ArcCatalog中,在sde连接上右键,import-->feature class就行
或者使用toolbox中的featureClass to featureclass

7. sde空间视图 可以用sql修改吗

alter view v
as
select *
from xx jion yy on xx.column_name1=yy.column_name2
where ... --这里加你所需的条件
order by id

8. 使用ArcSDE SQL操作怎么获得新对象的objectid、GUID麻烦告诉我

如果对ArcSDE或者是数据库比较熟悉的话,可能会将要素类(数据库层次就是表),表对象的序列找出来,其实ObjectID走的也是一个序列,然后获得nextValue即可,这种方式是不严谨的。
下一个可用对象 ID 不一定是最后所插入对象 ID 之后的下一个顺序编号。某些客户端应用程序的对象 ID 会进行批量分配,因此下一个可用对象 ID 的编号可能比最后使用的对象 ID 大许多。同样,批中任何未使用的对象 ID 会返回可用值池中,这意味着下一个可用对象 ID 值可能实际上小于最后插入的对象
ID 值。
使用 sde.version_user_ddl 包中的 next_row_id 函数为对象 ID 生成新的唯一值。
next_row_id 函数使用两个参数:所有者和注册 ID。所有者是拥有该表的用户的名称。注册 ID 来自 TABLE_REGISTRY ArcSDE 系统表。利用表的所有者名称和注册 ID,可创建 SQL 语句来填充对象 ID 列。
操作步骤:1:连接到Sqlplus
2:找到操作对象要素类对应的注册ID
SELECT registration_id FROM sde.table_registry WHERE table_name = 'STREAMS' and owner = 'ENG2';
REGISTRATION_ID 131
3:进行操作

9. 如何安装ArcSDE并连接Sql2008 R2数据库

1、启动SQL Server Management Studio,以SQL Server身份验证方式登录并接SQLServer数据库

2、接着运行sde安装程序ESRI.exe,选择rcSDE for Microsoft SQL Server 32位安装。点击下一步,
3、选择完整安装,下一步:

4、空间数据库构架选择SDE方案,SQL Server用户实例名称是自己的计算机名称,连接使用选择以SQLSevver 身份验证,用户名和密码和连接数据库设置的相同,下一步:

5、关键步骤之一;创建空间数据库所需的信息,设置sde用户的密码,数据库的名称要设置为sde,日志文件大小30,提示SDE数据库已成功创建,确定下一步:

6、接着提示将用户成功添加到数据库,并成功为sde用户授予创建权限,然后出现ArcSDE配置文件都使用默认文件

7、此时断开SQLServer的数据库重新登录,可以看到“sde”的数据库被创建,同时,在安全性->登录名下同样创建了sde的登录名

8、接着赋予sde用户管理的权限(避免配置ArcSDE中会出现“ insufficient permittion”的权限不足的提示)右键查看登录名下的”sde”属性,在”常规”下去掉”强制实施密码策略”选项,在”服务器角色”下,选中所有角色,便于管理:

9、点击OK以保存设置 ,然后返回SDE配置界面,填写资料档案库,下一步,提示资料档案库已成功完成,可以查看一下状态。

10、接着对ARcSDE 进行授权,选择用来自ESRI的授权文件进行授权,浏览打开arcsde10new2.ecp授权文件,授权完成,点击完成。

11、接着创建ArcSDE服务信息,界面会已显示好信息,不需要做修改,提示是否启动SDE服务,选择是,显示启动成功,到此完成ArcSDE的安装和配置。

注意事项
安装前需要将SqlServer的登录方式设置为使用SQL Server或windows身份验证模式。
SqlServer要安装正式版,而不是express版。
默认情况下可以用sde作为数据库名,记得安装过程中的登录密码,作为登录名。同时默认情况下,用户默认的登录名为sde 可以在sqlServer中查看。

----另外,可以参考网络经验http://jingyan..com/article/39810a238238e2b636fda60e.html

10. 最近无聊看GIS的东西。。在往sde创建的要素类里面插入数据时候 sql一直不对,请教高手sql语句的写法

你好,SQL语句的一些资料,如下:

创建数据库
创建之前判断该数据库是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默认就属于primary文件组,可省略

/*--数据文件的具体描述--*/
name=‘databasename_data’,-- 主数据文件的逻辑名称
filename=‘'所存位置:\databasename_data.mdf’, -- 主数据文件的物理名称
size=数值mb, --主数据文件的初始大小
maxsize=数值mb, -- 主数据文件增长的最大值
filegrowth=数值%--主数据文件的增长率

log on

/*--日志文件的具体描述,各参数含义同上--*/
name='databasename_log', -- 日志文件的逻辑名称
filename='所存目录:\databasename_log.ldf', -- 日志文件的物理名称
size=数值mb, --日志文件的初始大小
filegrowth=数值mb--日志文件的增长值

删除数据库
drop database databasename
备份sql server
--- 创建备份数据的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始备份
BACKUP DATABASE pubs TO testBack
创建新表
create table tabname(col1 type1 [not null] [primary key] identity(起始值,递增量)
,col2 type2 [not null],..)--primary key为主键 identity表示递增数量
根据已有的表创建新表:
A:go
use 原数据库名
go
select * into 目的数据库名.dbo.目的表名 from 原表名(使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
创建序列
create sequence SIMON_SEQUENCE
minvalue 1 -- 最小值
maxvalue 999999999999999999999999999 -- 最大值
start with 1 -- 开始值
increment by 1 -- 每次加几
cache 20;
删除表
drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录
删除表中信息
delete from table_name-这是将表中信息删除但是会保留这个表
增加一个列
Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项
删除一个列
Alter table table_name drop column column_name--从表中删除一列
添加主键
Alter table tabname add primary key(col)
说明:删除主键:Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col…。)
删除索引:drop index idxname on tabname
注:索引是不可更改的,想更改必须删除重新建。
创建视图
create view viewname as select statement
删除视图:drop view viewname
基本的sql语句
(1) 数据记录筛选:
sql="select * from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)
sql="select * from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"
sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"
sql="select top 10 * from 数据表 order by 字段名 [desc]"
sql="select * from 数据表 where字段名in ('值1','值2','值3')"
sql="select * from 数据表 where字段名between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统计的值,其它函数运用同上。
查询去除重复值:select distinct * from table1
(6) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
(7) 单列求和:
SELECT SUM(字段名) FROM 数据表

热点内容
查询重复字段的sql语句 发布:2025-02-13 03:12:42 浏览:322
8uftp上传网站 发布:2025-02-13 03:01:57 浏览:242
电脑玩游戏如何配置电源 发布:2025-02-13 03:01:53 浏览:361
微信怎么上传头像不了 发布:2025-02-13 02:57:04 浏览:118
c语言矩阵的转置 发布:2025-02-13 02:38:43 浏览:624
rowphp 发布:2025-02-13 02:37:16 浏览:711
光遇安卓服周年伞在哪里领取 发布:2025-02-13 02:22:18 浏览:674
写mv脚本软件 发布:2025-02-13 02:21:56 浏览:696
超内核源码 发布:2025-02-13 02:12:54 浏览:444
趣粉脚本 发布:2025-02-13 02:11:23 浏览:952