不知道題目該怎么起名字,害怕這個(gè)名字被大家誤解,這個(gè)文檔其實(shí)就是想給一些初學(xué)者在使用不同數(shù)據(jù)庫,怎么組織SDE庫與用戶數(shù)據(jù)庫,怎么多個(gè)用戶來操作同一個(gè)庫,相互用戶的權(quán)限如何來分配等等信息。 Oracle數(shù)據(jù)庫 如果是Oracle數(shù)據(jù)庫,在安裝完ArcSDE軟件,
不知道題目該怎么起名字,害怕這個(gè)名字被大家誤解,這個(gè)文檔其實(shí)就是想給一些初學(xué)者在使用不同數(shù)據(jù)庫,怎么組織SDE庫與用戶數(shù)據(jù)庫,怎么多個(gè)用戶來操作同一個(gè)庫,相互用戶的權(quán)限如何來分配等等信息。
如果是Oracle數(shù)據(jù)庫,在安裝完ArcSDE軟件,Post完畢之后,在數(shù)據(jù)庫里面有一個(gè)SDE表空間和SDE用戶,那么對(duì)用戶的數(shù)據(jù)來說該怎么存儲(chǔ)呢?
方式一:擴(kuò)大SDE表空間的容量,直接將用戶的數(shù)據(jù)導(dǎo)入到SDE用戶或者新建一個(gè)用戶但是默認(rèn)表空間還是SDE表空間,反正數(shù)據(jù)都灌入到SDE表空間里面。
缺點(diǎn):將用戶的數(shù)據(jù)和SDE的相關(guān)結(jié)構(gòu)表放在一塊,顯然層次不分明,用戶也容易誤操作SDE的相關(guān)結(jié)構(gòu)表。
方式二:也就是推薦的方式,如上圖所示,用戶可以創(chuàng)建存儲(chǔ)自己數(shù)據(jù)的表空間,然后用戶也可以創(chuàng)建屬于該表空間的一個(gè)或者多個(gè)用戶,該用戶賦予connect和resource權(quán)限即可,當(dāng)用戶使用ArcCatalog進(jìn)行用戶連接時(shí),用戶的數(shù)據(jù)會(huì)存儲(chǔ)在用戶自己的表空間中,但是相關(guān)的信息(用戶數(shù)據(jù)的表名稱、表的列名稱、數(shù)據(jù)投影等信息)會(huì)自動(dòng)注冊(cè)到SDE表空間中,這些步驟不用用戶來操作,通過ArcGIS產(chǎn)品的相關(guān)接口會(huì)在后臺(tái)自動(dòng)進(jìn)行相關(guān)處理,對(duì)初學(xué)者來說,這個(gè)方式往往讓他們比較想不通,總感覺我的數(shù)據(jù)應(yīng)該在SDE表空間里面才能進(jìn)行相關(guān)的注冊(cè),放到其他表空間里面就會(huì)自動(dòng)注冊(cè)或者還需要進(jìn)行額外操作,這一點(diǎn)就多慮了,用戶可以根據(jù)上面的解釋進(jìn)行試驗(yàn)。
那么針對(duì)一個(gè)表空間的多個(gè)用戶來說,權(quán)限問題一方面可以使用Oracle的數(shù)據(jù)庫方式,那里面有相關(guān)的權(quán)限,不過也可以使用ArcGIS的方式來賦予相關(guān)的權(quán)限。
該功能用戶可以在ArcToolbox工具或者其他地方都可以找到,如果是數(shù)據(jù)的擁有者也就是使用哪個(gè)用戶創(chuàng)建或者導(dǎo)入的數(shù)據(jù),可以賦予其他用戶讀(select)或者寫(Edit)的權(quán)限,使用這種方法也是可以進(jìn)行權(quán)限的操作的。
對(duì)Oracle數(shù)據(jù)庫來說,大家使用的比較多,但是對(duì)SQL Server數(shù)據(jù)庫來說,就有些問題需要注意了??赡芰?xí)慣Oracle數(shù)據(jù)庫的用戶在使用SQL Server數(shù)據(jù)庫時(shí)對(duì)數(shù)據(jù)組織也喜歡走Oracle的老路子,就是當(dāng)用戶安裝完ArcSDE軟件,Post完畢后,系統(tǒng)會(huì)創(chuàng)建一個(gè)SDE的數(shù)據(jù)庫,和SDE的用戶,那么用戶可以向創(chuàng)建一個(gè)新庫,然后創(chuàng)建新庫的用戶,也用Oracle的方式導(dǎo)入數(shù)據(jù),數(shù)據(jù)在新庫里面存儲(chǔ),數(shù)據(jù)信息在SDE庫里面注冊(cè),這樣做是可以的,但是Esri在ArcGIS9.3時(shí)就已經(jīng)不推薦用戶進(jìn)行這樣組織了,因?yàn)檫@樣效率比較低,怎么個(gè)低法呢?不解釋,用戶知道就可以了。所以以上全部是廢話。
看一下上面的圖,對(duì)SQL Server數(shù)據(jù)庫來說,如果用戶是一個(gè)庫的話,建議將用戶數(shù)據(jù)和SDE放在一塊兒,也就是直接導(dǎo)入到SDE庫里面,如果用戶是希望多個(gè)庫分開存儲(chǔ),建議為每一個(gè)庫都創(chuàng)建相關(guān)的SDE Schema,如下所示:
再進(jìn)行創(chuàng)建庫時(shí),修改新的Database name,然后針對(duì)每一個(gè)Database name創(chuàng)建相應(yīng)的ArcSDE服務(wù),在進(jìn)行數(shù)據(jù)連接時(shí),連接哪個(gè)庫,我們?cè)贒atabase 填上相應(yīng)的名稱即可。
那么再說說SQL Server的用戶,SQL Server數(shù)據(jù)庫默認(rèn)有一個(gè)sa用戶,這是操作系統(tǒng)級(jí)別的用戶,也有SDE用戶,這是第一次創(chuàng)建ArcSDE庫創(chuàng)建的用戶,sa用戶的SDE用戶都是凌駕于所有庫之上的,這兩個(gè)用戶可以連接所有SDE的庫,也就是PPT上圖上所示。那么針對(duì)每一個(gè)庫我們也可以創(chuàng)建針對(duì)這個(gè)庫的用戶。
下面說說怎么給SQL Server數(shù)據(jù)庫創(chuàng)建多用戶?
對(duì) SQL Server創(chuàng)建用戶來說,只需要安裝向?qū)韯?chuàng)建即可,但是我也接到用戶的咨詢,在創(chuàng)建完新用戶之后,可以使用新用戶進(jìn)行連接,但是往新用戶里面導(dǎo)入相關(guān)數(shù)據(jù)會(huì)出現(xiàn)如下的一個(gè)錯(cuò)誤:
出現(xiàn)這個(gè)錯(cuò)誤的原因是:在創(chuàng)建新用戶的時(shí)候,我們不能使用SDE或者DBO的架構(gòu),要在SDE數(shù)據(jù)庫下或者擁有SDE Schema的數(shù)據(jù)庫下來創(chuàng)建該用戶的架構(gòu),然后選擇該架構(gòu)即可。
如上圖所示:我想在SDE數(shù)據(jù)庫中再創(chuàng)建一個(gè)除Sde外的其他用戶,比如aaa,那么我首先要?jiǎng)?chuàng)建一個(gè)aaa的架構(gòu)。
然后創(chuàng)建的aaa用戶所在架構(gòu)修改為aaa的架構(gòu)即可。
詳細(xì)參考:http://blog.csdn.net/linghe301/archive/2011/02/14/6183962.aspx
下面說明一下SQLServer導(dǎo)入數(shù)據(jù)的命名方式:數(shù)據(jù)庫名.用戶名.圖層名,如下所示:
中間的名稱為SDE,說明是SDE用戶導(dǎo)入的,中間的名稱為DBO,說明是Sa用戶或者其他用戶但是擁有sysadmin的權(quán)限,其他就是普通用戶自己導(dǎo)入的。
-------------------------------------------------------------------------------------------------------
QQ一群: 78773981
QQ二群: 225989940
Blog: http://blog.csdn.net/linghe301
Weibo: http://www.weibo.com/linghe301
-------------------------------------------------------------------------------------------------------
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com