开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中sqlserver cdc 我只指定一个数据库它却把其他数据库下的同名表为什么?

Flink CDC中sqlserver cdc ,我只指定了一个数据库··它却把其他数据库下的同名表都给监听了···是我哪里写法不对吗?
74c16762d2d7a3c2a496f463f690c039.png
其实有很多别的数据库都有tablelist里的表,现状是所有库里的同名表都被监听了,我不想flink监听我没指定的数据库的表。我代码里只指定了A数据库下的 dbo.xx表~实际上运行下来flink监听了A,B,C所有数据库下面的dbo.xx表。我的 sink 是kafka, 我是按照 数据库和表名自动创建topic~所以通过kafka发现其他被监听。

展开
收起
小易01 2023-07-26 08:19:18 86 0
3 条回答
写回答
取消 提交回答
  • 当使用 Flink CDC 的 SQL Server CDC 连接器时,如果你只指定一个数据库,却发现它读取了其他数据库下同名表的数据,可能是由于以下原因导致的:

    1. 同名表问题:在不同的数据库中存在同名的表。SQL Server 提供了多个数据库,每个数据库可以有自己的表结构和数据。如果存在多个数据库中具有相同表名的表,则连接器可能会读取所有这些表的数据。

    2. CDC 配置问题:检查你在连接器配置中是否正确指定了要读取的数据库。确保在连接器配置中只指定了你想要读取的特定数据库,而没有包含其他数据库。

    3. 数据库权限:验证连接器所使用的数据库用户是否具有访问和读取指定数据库的权限。如果该用户具有访问多个数据库的权限,并且这些数据库中存在同名表,那么连接器可能会读取所有这些表的数据。

    4. 连接字符串配置:确保在连接字符串中明确指定了要连接的目标数据库。连接字符串应该只包括特定数据库的相关信息,而不是通配符或默认的连接设置。

    2023-07-31 22:44:02
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在Flink CDC中使用SQL Server CDC作为CDC源时,如果您只指定了一个数据库,但是Flink CDC却把其他数据库下的同名表也捕获到了变化数据,可能是因为SQL Server CDC的机制决定的。
    SQL Server CDC是通过数据库级别的日志来捕获变化数据的,而不是通过表级别的日志。因此,如果一个数据库下存在多个同名表,SQL Server CDC会将它们视为同一个表,并将它们的变化数据都捕获到。
    为了避免这个问题,您可以在Flink SQL CDC中使用schema(模式)来指定表的所属模式,这样可以区分不同模式下同名的表。例如:
    sql
    Copy
    CREATE TABLE my_table (
    id INT,
    name STRING,
    age INT
    ) WITH (
    'connector' = 'sqlserver-cdc',
    'hostname' = 'localhost',
    'port' = '1433',
    'username' = 'sa',
    'password' = '123456',
    'database-name' = 'my_database',
    'table-name' = 'dbo.my_table',
    'schema-name' = 'dbo'
    );
    上述示例中,通过schema-name参数指定表的所属模式为dbo,这样可以确保Flink SQL CDC只捕获dbo.my_table表的变化数据,而不会捕获其他模式下同名的表的变化数据。

    2023-07-29 15:42:59
    赞同 展开评论 打赏
  • 意中人就是我呀!

    "tablelist是 db.tablename1,db.tablename2,db.tablename3,db.tablename4
    此回答整理至钉群“Flink CDC 社区”。"

    2023-07-26 12:15:40
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
    阿里云瑶池数据库精要2022版 立即下载
    2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载