Replication
將 IDENTITY 列從 Sybase ASE 15.5 複製到 Sybase ASE 15.5 時出現問題
我正在嘗試
Sybase ASE 15.5
通過Sybase ASE 15.5
複製定義和在Replication Server(REP) Version 15.7.1
. 我發現有一個表,其中一個列定義為IDENTITY
. 為該表創建複製定義和訂閱後,我在複製伺服器中收到以下錯誤消息:來自伺服器的消息:
Message: 584, State 1, Severity 16 -- 'Explicit value specified for identity field in table 'customers' when 'SET IDENTITY_INSERT' is OFF'.
我試圖
SET IDENTITY_INSERT customers ON
在我的主數據庫和複製數據庫上執行,但沒有運氣。感謝您是否可以提供幫助。謝謝!
假設您的主/複製表是這樣創建的:
create table mytable (id int identity ,name varchar(100) ,dob date ... snip ...
假設您想將標識值從主表複製到復製表,您需要告訴 SRS 該
id
列是一identity
列,您執行此操作的方法是在 repdef 中將該id
列指定為 anidentity
,如下所示:create replication definition mytable_repdef with primary at ... with all tables named mytable (id identity <<<=== use 'identity' instead of the actual datatype ,name varchar(100) ,dob datetime ... snip ...
通過將
id
列指定為identity
repdef 中的列,SRS 現在應該將所有 INSERT(發送到複製數據庫)包含在set identity_insert on/off
包裝器中,並且更新應該包裝在set identity_update on/off
包裝器中。