Java 如何使用Debezium Sql Server Connector for Apache Camel实时报告事件?

Java 如何使用Debezium Sql Server Connector for Apache Camel实时报告事件?,java,sql-server,spring-boot,apache-camel,debezium,Java,Sql Server,Spring Boot,Apache Camel,Debezium,我试图通过以下Spring引导启动器将更改从一个数据库复制到另一个数据库: <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-starter</artifactId> <version>3.5.0</version> </dependency> &l

我试图通过以下Spring引导启动器将更改从一个数据库复制到另一个数据库:

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-spring-boot-starter</artifactId>
    <version>3.5.0</version>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-debezium-sqlserver-starter</artifactId>
    <version>3.5.0</version>
</dependency>
初始化应用程序时,它会为表中的每一行报告一个事件,问题是以后它不会实时报告事件,例如,如果我在表中插入或更新一行。

请遵循并确保:

  • 已为数据库启用CDC

    USE MyDB
    GO
    EXEC sys.sp_cdc_enable_db
    GO
    
  • 已为要捕获的表启用CDC

    EXEC sys.sp_cdc_enable_table
    @source_schema = N'dbo',
    @source_name   = N'MyTable',
    @role_name     = N'MyRole',
    GO
    
  • SQL Server代理正在运行

  • Debezium用户具有读取源表和更改表的权限


您好,请确保您遵守了并运行了SQL Server代理谢谢@JiriPechanec。事实上,我只在数据库级别启用了CDC,正如您所建议的,运行SQLServer代理解决了这个问题。(如果您愿意,请将其发布为更完整的答案,我将接受)
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo',
@source_name   = N'MyTable',
@role_name     = N'MyRole',
GO