0

在 Sql Server 2005 中,我们发布了几个表。该出版物有 3 个对 DB2 数据库的推送订阅(使用来自 HIS2009 的连接器)并且已经订阅了几个月。尝试添加另一个订阅,除了它是一个不同的服务器外,几乎与现有订阅相同,我们得到:

SQL Server could not create a subscription for Subscriber 'MY-DATABASE-2'.
 An exception occurred while executing a Transact-SQL statement or batch. 
  OLE DB or ODBC Subscribers cannot subscribe to article 'my_table_1' in publication
  'my_publication' because the article has a timestamp column and the publication is
  'allow_queued_tran' (allows queued updating subscriptions). 
  The subscription could not be found.
  Microsoft SQL Server, Error 21249

然而:

  • my_table_1 不包含时间戳列
  • 该出版物有allow_queued_tran = False
  • 此出版物上还有其他成功的 OLE-DB DB2 订阅
  • 发布中的其他表不包含时间戳。其中一些包含日期列,其 DB2 等效类型是“timestamp”,但 DB2 中的“timestamp”仅表示(日期和时间)——而不是系统生成的时间标记。
4

2 回答 2

0

我今天遇到了同样的问题,但找不到解决方案。我删除了现有的订阅和发布,重新开始,然后它起作用了。很奇怪的问题。

于 2014-03-11T00:46:19.183 回答
0

奇怪的是,我们能够使用相同的表、过滤器等创建一个新的发布,并为其添加新的订阅。所以,它已经解决了,虽然没有真正回答。

于 2010-08-04T04:21:53.497 回答