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

您好,flink cdc请教一个问题,同步oracle的数据报错,使用配置如下:?

您好,请教一个问题,同步oracle的数据报错,使用配置如下:
cdc版本:flink-sql-connector-oracle-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT
驱动版本:ojdbc8-23.2.0.0.jar
Oracle 版本: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

flink sql:
CREATE TABLE IF NOT EXISTS oracle_table (
STORE_ID BIGINT,
STORE_CODE STRING,
STORE_NAME STRING,
STORE_STATUS INT,
PRIMARY KEY (STORE_ID) NOT ENFORCED
) WITH (
'connector' = 'oracle-cdc',
'hostname' = '192.168.252.107',
'port' = '1521',
'username' = 'conn_uat',
'password' = 'xxxx',
'database-name' = 'CONN_UAT',
'schema-name' = 'strc',
'table-name' = 'CHL_STORE_T'
);

报错:
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

已做验证:
本地连接oracle数据库没有问题
1、通过程序连接(驱动版本ojdbc8-23.2.0.0.jar)没问题;
2、使用data grip也可以正常连接(Driver: Oracle JDBC driver (ver. 21.5.0.0.0, JDBC4.3)):

@张河川 @非非非语

展开
收起
真的很搞笑 2023-11-22 08:17:05 193 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您在Flink SQL中创建了一个表并试图从Oracle CDC读取数据,但报出了"Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor"错误。这表示您的连接描述符中缺少服务名(service_name),导致TNS listener拒绝连接请求。
    请尝试以下解决方法:

    1. 检查您的TNS listener服务是否已经启动,并确保正确配置了服务名称。
    2. 在Flink SQL中的表定义中添加服务名,即 database-service-name 参数。
    3. 如果您的数据库实例安装在一个远程服务器上,请确保防火墙已经开放相关端口。
    4. 尝试通过telnet命令测试Oracle服务器的端口是否可以通连。
    2023-11-29 14:12:49
    赞同 展开评论 打赏
  • 这个错误提示 "Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor" 通常表示客户端无法连接到Oracle服务器。这可能是由于以下原因导致的:

    1. 监听器配置问题:Oracle监听器可能没有配置正确,或者监听器没有启动。你可以检查Oracle监听器的日志,看是否有相关的错误信息。

    2. 服务名问题:在连接字符串中使用的服务名可能不正确。你可以检查你的连接字符串,看是否有拼写错误或其他错误。

    3. 网络问题:客户端和服务器之间的网络连接可能有问题。你可以检查网络连接,看是否有丢包或延迟的情况。

    对于你的情况,既然你能通过其他方式正常连接Oracle数据库,那么很可能是Flink SQL连接字符串中的服务名不正确。你可以检查你的连接字符串,看是否有拼写错误或其他错误。

    2023-11-29 13:56:51
    赞同 展开评论 打赏

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

相关产品

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

    更多
    PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
    PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
    Oracle云上最佳实践 立即下载

    相关镜像