国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 亚洲偷 | 成人精品视频在线 | 在线观看日韩视频 | 国语对白91 | 国产欧美高清 | 香蕉视频在线免费看 | 欧美日韩亚洲区久久综合 | 亚洲欧美日韩在线一区 | 亚洲精品影院久久久久久 | 无毛片 | 精品国产亚一区二区三区 | 国产精品一区在线播放 | 欧美xxxx做受欧美69 | 欧美日韩高清完整版在线观看免费 | 六十路垂乳熟年交尾正在播放 | 欧美激情在线精品三区 | 看一级特黄a大片日本片 | 国内精品伊人久久久久妇 | 亚洲十欧美十日韩十国产 | 欧美一区二区三 | 国产日韩欧美自拍 | 一级久久| 国内一级一级毛片a免费 | 永久在线毛片免费观看 | 国产成人在线看 | 干比网| 亚洲精品美女久久久aaa | 91九色国产porny | 国产激情在线观看 | 毛色毛片免费观看 | 九九精品视频一区在线 | 美女视频黄a视频免费全过程在线 | 91精品国产综合久久久久久 | a男人的天堂久久a毛片 | 国产高清美女一级a毛片久久 | 国产精品观看 | 国产91精品久久久久999 | 国产国语高清在线视频二区 | 全黄毛片 | 久久精品国产三级不卡 | 欧美伊香蕉久久综合类网站 |