<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ArcSDE進行跨數據庫的關聯

        來源:懂視網 責編:小采 時間:2020-11-09 07:22:19
        文檔

        ArcSDE進行跨數據庫的關聯

        ArcSDE進行跨數據庫的關聯:以前有用戶曾經問過這樣一個問題 我想進行數據的關聯,這很簡單啊,ArcSDE提供了很多關聯方式,join、視圖、QueryLayer等, 詳細參考:http://blog.csdn.net/linghe301/article/details/6649717 但是用戶要求的條件比較特殊,這兩個數據分布在兩個庫
        推薦度:
        導讀ArcSDE進行跨數據庫的關聯:以前有用戶曾經問過這樣一個問題 我想進行數據的關聯,這很簡單啊,ArcSDE提供了很多關聯方式,join、視圖、QueryLayer等, 詳細參考:http://blog.csdn.net/linghe301/article/details/6649717 但是用戶要求的條件比較特殊,這兩個數據分布在兩個庫

        以前有用戶曾經問過這樣一個問題 我想進行數據的關聯,這很簡單啊,ArcSDE提供了很多關聯方式,join、視圖、QueryLayer等, 詳細參考:http://blog.csdn.net/linghe301/article/details/6649717 但是用戶要求的條件比較特殊,這兩個數據分布在兩個庫中,這可

        以前有用戶曾經問過這樣一個問題

        我想進行數據的關聯,這很簡單啊,ArcSDE提供了很多關聯方式,join、視圖、QueryLayer等,

        詳細參考:http://blog.csdn.net/linghe301/article/details/6649717

        但是用戶要求的條件比較特殊,這兩個數據分布在兩個庫中,這可以進行關聯么?答案是肯定的。下面我們就一一演示一下怎么進行跨庫的關聯,其實關鍵的步驟就是Oracle數據庫的跨庫查詢,其他方面就跟一個庫一樣了。


        比如我們有一個庫orcl里面用戶test的表為place,另外一個庫orcl2里面用戶sde的表為owner

        首先我們看看這兩個表的結構

        C:\Users\Administrator>sqlplus test/test@orcl
        
        SQL*Plus: Release 11.2.0.1.0 Production on 星期一 2月 6 15:50:04 2012
        
        Copyright (c) 1982, 2010, Oracle. All rights reserved.
        
        
        連接到:
        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
        With the Partitioning, OLAP, Data Mining and Real Application Testing options
        
        SQL> desc place;
         名稱 是否為空? 類型
         ----------------------------------------- -------- --------------------------
         OBJECTID NOT NULL NUMBER(38)
         NAME NVARCHAR2(50)
         PID NUMBER(38)
         ID NUMBER(38)
         SHAPE SDE.ST_GEOMETRY

        查看另外一個實例,看owner的結構
        C:\Users\Administrator>sqlplus sys/oracle@orcl2 as sysdba
        
        SQL*Plus: Release 11.2.0.1.0 Production on 星期一 2月 6 15:50:52 2012
        
        Copyright (c) 1982, 2010, Oracle. All rights reserved.
        
        
        連接到:
        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
        With the Partitioning, OLAP, Data Mining and Real Application Testing options
        
        SQL> desc sde.owner;
         名稱 是否為空? 類型
         ----------------------------------------- -------- -------------------------
         OBJECTID NOT NULL NUMBER(38)
         PID NUMBER(10)
         ID NUMBER(10)
         NAME NVARCHAR2(50)
         NAME1 NVARCHAR2(50)
        place是空間表,owner為屬性表,這兩個表的ID為關聯字段

        首先我們將這兩個表在數據庫層次上進行關聯

        create public database link ABB
         connect to SDE
         using 'orcl2';

        create public database link ABC
         connect to SDE
         using '(DESCRIPTION=
        (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.111)(PORT=1521))
        )
        (CONNECT_DATA=
        (SERVICE_NAME=orcl2)
        )
        )';

        以上兩種關聯方法都可以,具體步驟就是我連接實例orcl的sys用戶,然后其中ABB是你建樹的dblink名字,orcl2是遠程數據庫的實例名/網絡服務名,sde/sde是登錄到遠程數據庫的用戶/密碼。然后在當地數據庫中經由過程dblink訪謁遠程數據庫'orcl2'中

        那么我們在一個實例查看另一個實例的某個用戶的表名應該是:

        用戶名.表名@數據庫連接名(上面的link名稱)

        SQL> conn sys/oracle@orcl as sysdba
        已連接。
        SQL> create public database link ABB connect to sde identified by sde using 'orcl2';
        
        數據庫鏈接已創建。
        
        SQL> desc sde.owner@ABB;
         名稱 是否為空? 類型
         ----------------------------------------- -------- ----------------------------
         OBJECTID NOT NULL NUMBER(38)
         PID NUMBER(10)
         ID NUMBER(10)
         NAME NVARCHAR2(50)
         NAME1 NVARCHAR2(50)
        SQL> conn sys/oracle@orcl as sysdba
        已連接。
        SQL> create public database link ABB connect to sde identified by sde using 'orcl2';
        
        數據庫鏈接已創建。
        
        SQL> desc sde.owner@ABB;
         名稱 是否為空? 類型
         ----------------------------------------- -------- ----------------------------
         OBJECTID NOT NULL NUMBER(38)
         PID NUMBER(10)
         ID NUMBER(10)
         NAME NVARCHAR2(50)
         NAME1 NVARCHAR2(50)

        盡量創建public,不然針對不同用戶有權限的問題,如果對權限要求很高,也可以不使用public

        那么我們創建相關的視圖

        SQL> create or replace view myview1 as select test.place.pid,test.place.shape,sde.owner@ABB.name from test.place,sde.own
        er@ABB where test.place.id=sde.owner@ABB.id;
        create or replace view myview1 as select test.place.pid,test.place.shape,sde.owner@ABB.name from test.place,sde.owner@AB
        B where test.place.id=sde.owner@ABB.id
        
         *
        第 1 行出現錯誤:
        ORA-02019: 未找到遠程數據庫的連接說明
        ORA-04054: 數據庫鏈接 ABB.ID 不存在

        可見在orcl實例下直接使用sde.owner@ABB.id獲得orcl2實例里面的owner表中的id字段系統不支持,那我們將sde.owner@ABB在orcl實例下創建一個同義詞來代替。

        創建同義詞

        SQL> conn sys/oracle@orcl as sysdba
        已連接。
        SQL> create public synonym mysyn1 for sde.owner@abb;
        
        同義詞已創建。
        
        SQL> conn test/test@orcl;
        已連接。
        SQL> desc mysyn1;
         名稱 是否為空? 類型
         ----------------------------------------- -------- ----------------------------
         OBJECTID NOT NULL NUMBER(38)
         PID NUMBER(10)
         ID NUMBER(10)
         NAME NVARCHAR2(50)
         NAME1 NVARCHAR2(50)

        創建視圖
        SQL> create or replace view myview1 as select test.place.pid,test.place.shape,mysyn1.name from test.place,mysyn1 where test.place.id=mysyn1.id;
        
        視圖已創建。

        ArcSDE注冊
        C:\Users\Administrator>sdelayer -o register -l myview1,shape -e a -t ST_GEOMETRY -i sde:oracle11g:orcl -u test -p test
        
        
        ArcSDE 10.0 for Oracle11g Build 1937 Tue Aug 16 16:08:18 2011
        Layer Administration Utility
        -----------------------------------------------------
        Successfully Created Layer.


        結束語:個人感覺,這種方式來進行關聯不太穩定,至少我將該圖層數據加載到ArcGIS Desktop導致桌面軟件崩潰(也有可能因為我環境問題導致的),不過使用sql操作都沒有問題,不是萬不得已,建議慎重考慮使用該方式。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ArcSDE進行跨數據庫的關聯

        ArcSDE進行跨數據庫的關聯:以前有用戶曾經問過這樣一個問題 我想進行數據的關聯,這很簡單啊,ArcSDE提供了很多關聯方式,join、視圖、QueryLayer等, 詳細參考:http://blog.csdn.net/linghe301/article/details/6649717 但是用戶要求的條件比較特殊,這兩個數據分布在兩個庫
        推薦度:
        標簽: 用戶 數據 曾經
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲欧洲国产精品久久| 亚洲伊人久久精品影院| 亚洲乱码在线视频| free哆啪啪免费永久| 亚洲综合激情六月婷婷在线观看| 久久一区二区三区免费播放| 亚洲国产精品久久久久婷婷软件 | 亚洲夂夂婷婷色拍WW47| 久九九精品免费视频| 亚洲粉嫩美白在线| 免费高清小黄站在线观看| 久久无码av亚洲精品色午夜| 日韩免费福利视频| 大片免费观看92在线视频线视频| 亚洲视频一区二区| 免费视频成人手机在线观看网址| 久久精品国产亚洲AV无码偷窥| 日本最新免费网站| 亚洲熟女综合一区二区三区| 免费人妻无码不卡中文字幕18禁| 成年网在线观看免费观看网址 | 国产成人综合亚洲一区| 亚洲乱码国产一区网址| 野花香高清视频在线观看免费| 亚洲精品视频在线免费| 卡1卡2卡3卡4卡5免费视频| 污视频网站免费观看| 亚洲色无码专区在线观看| 91av免费观看| 看成年女人免费午夜视频| 亚洲色欲一区二区三区在线观看| 综合在线免费视频| 精品久久久久久久久亚洲偷窥女厕| 亚洲性日韩精品国产一区二区| 日本免费大黄在线观看| 亚洲高清一区二区三区电影| 亚洲国产精品无码久久久不卡 | 在线精品亚洲一区二区小说| 久久免费线看线看| 亚洲精品V天堂中文字幕| 国产成人综合亚洲亚洲国产第一页|