亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5421 | 回復(fù): 5
打印 上一主題 下一主題

SYBASE如何跨server操作? [復(fù)制鏈接]

論壇徽章:
1
2017金雞報曉
日期:2017-01-10 15:19:56
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2003-01-29 11:08 |只看該作者 |倒序瀏覽
我有兩個SYBASE SERVER,SVR1和SVR2,在SVR1中使用sql語句如何查詢SVR2中的數(shù)據(jù)?

論壇徽章:
0
2 [報告]
發(fā)表于 2003-01-29 11:16 |只看該作者

SYBASE如何跨server操作?

1. 在遠(yuǎn)程服務(wù)器及本地服務(wù)器

sp_addserver local_server_name,local
重新啟動保證設(shè)置生效

2. 在本地主機(jī)中使用 dsedit添加遠(yuǎn)程服務(wù)器的接口
3. 在本地服務(wù)器上添加遠(yuǎn)程服務(wù)器名稱

sp_addserver remote_server_name,ASEnterprise,server_net_name

2,3步驟應(yīng)該在本地服務(wù)器及遠(yuǎn)程服務(wù)器兩方都進(jìn)行添加

4. 設(shè)置遠(yuǎn)程服務(wù)器選項

exec sp_addserver 遠(yuǎn)程服務(wù)器邏輯名稱,類型,本地DSEDIT配置的服務(wù)器名稱

exec sp_addserver sybcdsrv, sql_server, ase12
exec sp_serveroption sybcdsrv, "timeouts", true
exec sp_serveroption sybcdsrv, "net password encryption", false
exec sp_serveroption sybcdsrv, "readonly", false   (只對CIS生效)
exec sp_serveroption sybcdsrv, "rpc security model A", true
go

5. 增加遠(yuǎn)程用戶與本地用戶的映射關(guān)系

sp_addremotelogin remote_server_name,local_login,remote_login

local_login及remote_login均為服務(wù)器上已經(jīng)存在的login
local_login跟remote_login口令應(yīng)該一致,如果不一致,在
Open Client Client-Library編程中可以使用 ct_remote_pwd 命令進(jìn)行設(shè)置
但在isql 及 bcp 中不允許指定 rpc 口令

另外,一旦到遠(yuǎn)程服務(wù)器的連接建立成功,在退出當(dāng)前會話前,不論遠(yuǎn)程服務(wù)器是否對相關(guān)remote_login進(jìn)行了口令更改,遠(yuǎn)程存儲過程的調(diào)用及其他遠(yuǎn)程操作都可以進(jìn)行。

5. 設(shè)置服務(wù)器之間的信任關(guān)系

sp_remoteoption remote_server_name,local_login,remote_login,trusted,true

6. 調(diào)用遠(yuǎn)程存儲過程

isql -Usa -P -Slocal_server_name
1>;exec remote_server_name.database_name.owner_name.procedure_name
2>;go

另外可以在 isql 中使用connect remote_server_name命令連接到遠(yuǎn)程服務(wù)器上,以測試遠(yuǎn)程服務(wù)器是否配置正常、網(wǎng)絡(luò)是否正常、遠(yuǎn)程服務(wù)器是否接受連接。

除了遠(yuǎn)程存儲過程調(diào)用方式,也可以采用其他一些方式對遠(yuǎn)程服務(wù)器上的數(shù)據(jù)進(jìn)行更改,其中包括建立代理表,使用sp_remotesql等方式。具體操作方法請參見ASE命令參考手冊及相關(guān)文檔。

sp_remotesql ase12,"insert into pubs2..tr1 values(09,'test remote sql')"

其他信息:

還可以使用代理表

所對應(yīng)遠(yuǎn)程服務(wù)器表 信息 在系統(tǒng)表 sysattributes 中 char_value 字段

論壇徽章:
0
3 [報告]
發(fā)表于 2003-01-29 11:17 |只看該作者

SYBASE如何跨server操作?

例子兩臺ASE服務(wù)器名稱為 Server1,Server2,需要在Server1中建立代理表,并通過Server1上的存儲過程對Server1自身及Server2中表進(jìn)行更新

1. 添加本地服務(wù)器名稱
    使用isql連接進(jìn)入服務(wù)器Server1,Server2
    1>;select @@servername
    2>;go
    確定服務(wù)器本地名稱已經(jīng)生效
    如果返回NULL,
    1>;sp_addserver Server_name,local
    2>;go
    Server_name應(yīng)該跟interfaces中所用服務(wù)器名稱一致

    重新啟動服務(wù)器,讓本地名稱生效

2. 添加遠(yuǎn)程服務(wù)器信息
在Server1上執(zhí)行如下命令:
isql -Usa -P -SServer1
exec sp_addserver Server2, ASEnterprise, Server2
exec sp_addremotelogin Server2, sa, sa
exec sp_remoteoption Server2, sa, sa, trusted, true
go

3. 建立代理表
    在Server2數(shù)據(jù)庫pubs2建立表t_testproxy
    create table t_testproxy (id int,name char(10))
    在Server1數(shù)據(jù)庫test中添加代理表信息
     use test
     go
     create proxy_table t_testproxy at "Server2.pubs2.dbo.t_testproxy"
     代理表名與原表名可以不同

     Server1上查看代理表 信息如下:

Name                           Owner                          Object_type                     
----                           -----                          -----------                     
t_testproxy                    dbo                            user table                       

Data_located_on_segment        When_created                  
-----------------------        ------------                  
default                        Nov 28 2002 11:59AM            

Column_name     Type            Length      Prec        Scale       Nulls       Default_name    Rule_name       Access_Rule_name               Identity   
-----------     ----            ----------- ----------- ----------- ----------- ------------    ---------       ----------------               -----------
id              int                       4        NULL        NULL           0 NULL            NULL            NULL                                     0
name            char                     10        NULL        NULL           0 NULL            NULL            NULL                                     0

exp_row_size reservepagegap fillfactor  max_rows_per_page identity_gap
------------ -------------- ----------- ----------------- ------------
           1              0           0                 0            0

concurrency_opt_threshold
-------------------------
                        0

Object is Remote/External
-------------------------
presales.pubs2.dbo.t_testproxy            //可從此處看出代理表所指向的真正對象

Object created with 'existing' option

Object does not have any indexes.
No defined keys for this object.
Object is not partitioned.
Lock scheme Allpages
The attribute 'exp_row_size' is not applicable to tables with allpages lock scheme.
The attribute 'concurrency_opt_threshold' is not applicable to tables with allpages lock scheme.


4. 代理表測試
    Server2上插入數(shù)據(jù):
    insert into t_testproxy values(1,'Server2')
    Server2上插入數(shù)據(jù):
    insert into t_testproxy values(2,'Server1')

    Server1上查詢數(shù)據(jù):
    select * from t_testproxy

    id          name      
----------- ----      
          1 Server2   
          2 Server1     

5. 視圖測試
     在Server1上test數(shù)據(jù)庫中建立用戶表t_testproxyview
     create table t_testproxyview (id int,address varchar(30)
     插入測試數(shù)據(jù)
      insert into t_testproxyview (1,'Chengdu')
      insert into t_testproxyview (2,'Sichuan')   
      insert into t_testproxyview (3,'sky')

     建立視圖
      create view v_proxy as select a.*,b.address from t_testproxy a,t_testproxyview b
      where a.id = b.id

       查詢視圖
select * from v_proxy

id          name       address                        
----------- ----       -------                        
          1 Server2    Chengdu                        
          2 Server1    Sichuan                        

         視圖的更新
         update v_proxy set address = 'test' where id = 2    更新本地表 執(zhí)行成功  
         update v_proxy set name = 'test' where id = 2    更新遠(yuǎn)程表 報告錯誤如下:
The optimizer could not find a unique index which it could use to scan table 'pubs2.dbo.t_testproxy' for cursor 'C11'.
          必須為遠(yuǎn)程表建立 主鍵或者唯一索引
          Server2上執(zhí)行(不能在Server1上為代理表建立主鍵):
           alter table t_testproxy add constraint pk_t_testproxy primary key (id)

          update v_proxy set name = 'test' where id = 2 再次更新代理表,成功

id          name       address                        
----------- ----       -------                        
          1 Server2    Chengdu                        
          2 test       test                           
         
          對試圖中本地表及代理表同時作更新
          update v_proxy set name = 'test1',address = 'test1' where id = 1
          報告錯誤:
          View 'v_proxy' is not updatable because the FROM clause names multiple tables.
         
          Sybase不支持在視圖中一次更新多表

6. 存儲過程測試
        在Server1上
         create proc p_proxy(@id int)
         as
         begin
         begin tran
         update t_testproxy set name = 'test3' where id = @id  --更新代理表
         update t_testproxyview set address = 'test3' where id = @id
         commit
         end
         
         exec p_proxy 2

id          name       address                        
----------- ----       -------                        
          1 Server2    Chengdu                        
          2 test3      test3        

          結(jié)論:可以在存儲過程中對本地及遠(yuǎn)程表進(jìn)行操作,并利用事務(wù)來保證一致性

      
      書寫倉促,難免疏漏,見諒!

論壇徽章:
1
2017金雞報曉
日期:2017-01-10 15:19:56
4 [報告]
發(fā)表于 2003-01-29 11:30 |只看該作者

SYBASE如何跨server操作?

請教blackrose,我只想查詢一下另一個庫中的數(shù)據(jù),是否必須通過代理完成,是否可以向跨庫操作一樣,使用一個SQL語句完成。

論壇徽章:
0
5 [報告]
發(fā)表于 2003-01-29 11:39 |只看該作者

SYBASE如何跨server操作?

不行!
存取數(shù)據(jù)通過代理表
操作遠(yuǎn)程服務(wù)器通過rpc

論壇徽章:
0
6 [報告]
發(fā)表于 2003-01-29 23:35 |只看該作者

SYBASE如何跨server操作?

通過代理表,也應(yīng)該可以查詢吧?不行嗎?難道是真的不行?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP