當前位置:首頁 » 編程語言 » 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 數據表

熱點內容
大眾朗逸哪個配置值得入手 發布:2025-05-12 10:31:20 瀏覽:503
壓縮包的後綴 發布:2025-05-12 10:20:35 瀏覽:939
煙台招聘編程 發布:2025-05-12 10:04:21 瀏覽:52
sql查詢所有表名 發布:2025-05-12 10:01:28 瀏覽:663
用python編譯器的簡單代碼 發布:2025-05-12 09:48:40 瀏覽:357
香港多ip站群伺服器租用 發布:2025-05-12 09:33:16 瀏覽:893
kaliapk編譯 發布:2025-05-12 08:47:56 瀏覽:357
健身穿壓縮衣 發布:2025-05-12 08:44:53 瀏覽:479
vps撥號伺服器搭建 發布:2025-05-12 08:35:20 瀏覽:310
音量鍵下陷開不開機怎麼辦安卓 發布:2025-05-12 08:35:19 瀏覽:291