入行文本列未复制

2020-08-24 04:23发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

ASE 15.7 sp140,中继服务器1571 sp302。

我很困惑:)。 我们已经设置数据库复制很多次了,现在对于新的设置,我遇到了一个从未见过的问题。 我们有一个表,表中有一个in in row(3700)文本列,不允许为null。 Repserver生成一个insert ... values语句,该语句在列列表中不包含该列。 而且由于该列不为空,所以会出现错误。

使用文本列(行中不为null)创建新表并插入数据不会出现此问题。

正如我所说,我们已经建立了相同类型的数据库很多次,我看不到这里有什么不同。 可能不同的是,在设置复制的转储/装入数据库阶段插入了行,而在其他情况下,数据库处于安静状态。 但是对于新记录,其行为是相同的。

什么设置可以控制此行为?

谢谢,
卢克。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

ASE 15.7 sp140,中继服务器1571 sp302。

我很困惑:)。 我们已经设置数据库复制很多次了,现在对于新的设置,我遇到了一个从未见过的问题。 我们有一个表,表中有一个in in row(3700)文本列,不允许为null。 Repserver生成一个insert ... values语句,该语句在列列表中不包含该列。 而且由于该列不为空,所以会出现错误。

使用文本列(行中不为null)创建新表并插入数据不会出现此问题。

正如我所说,我们已经建立了相同类型的数据库很多次,我看不到这里有什么不同。 可能不同的是,在设置复制的转储/装入数据库阶段插入了行,而在其他情况下,数据库处于安静状态。 但是对于新记录,其行为是相同的。

什么设置可以控制此行为?

谢谢,
卢克。

付费偷看设置
发送
10条回答
SAP砖家
1楼-- · 2020-08-24 05:00

使用sp_setrepcol检查该表+列。

sp_setreptable和sp_setrepcol都控制带有文本列的行的复制。

查看sp_setrepcol

,' always_replicate'会有所不同。

HTH

Avinash

骆驼绵羊
2楼-- · 2020-08-24 05:01

我认为只有在具有表复制定义的情况下才应设置sp_setrepcol和sp_setreptable。 对于数据库复制定义,sp_reptostandby ,'all'应该足够,不是吗?

Thx,

Luc。

暮风yp
3楼-- · 2020-08-24 04:49

正确。

您使用的是WS还是MSA?

在RS参考手册中特别针对文本列提到了sp_reptostandby的一些警告。 我想让您检查一下它们,看看是否其中任何一个引起了您的问题。

Avinash

葫芦娃快救爷爷
4楼-- · 2020-08-24 05:03

您好,Avinash,

请您解释一下这些警告。

表定义为:

创建表事件供稿(

eventfeedid bigint身份,
事件类型char(6)不为空,
内容文本在行(3700)中不为空,
receivetime datetime不为空默认getdate(),-我没有检查 语法
发布者smallint不为null)

锁定数据行

该数据库具有1个数据库复制定义,无表复制定义和1个数据库订阅。

列内容不被复制。

我现在已经创建了一个类似的表eventfeed2,并在eventfeed上添加了一个插入触发器,以将新数据也插入到eventfeed2中。

此表已正确复制,因此包括内容列。

我现在可以删除原始表并将eventfeed2重命名为eventfeed,这可以解决我的问题,但是我想知道原因....

谢谢

Luc。

吹牛啤
5楼-- · 2020-08-24 04:54

Luc

我将尝试测试您的情况,看看是否遇到问题。

这是 我在有关sp_reptostandby

的段落中为text列指出的那些标记为sp_reptostandby的表时,无法使用sp_setrepcol更改或列的复制状态; 和列始终被视为copy_if_changed。

因此,不确定运行sp_setrepcol eventfeed,content

时会得到什么。 也是一个问题:-(难以复制。

Avinash

sp_setrepcol eventfeed,content;
表" eventfeed"未标记为已复制

> sp_reptostandby my_db
> go
数据库'my_db'的复制状态为'ALL'。
数据库'my_db'的复制模式为'off'。
(返回状态= 0)

是的,只要不为人所知,就很难复制

我一直试图在系统表中查找指示,但找不到。 在某处必须有一个值,使repserver从插入语句中排除该列。

谢谢

Luc。

一周热门 更多>

向帮助了您的网友说句感谢的话吧!