您好,请教一个问题,同步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)):
@张河川 @非非非语
您在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拒绝连接请求。
请尝试以下解决方法:
database-service-name
参数。这个错误提示 "Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor" 通常表示客户端无法连接到Oracle服务器。这可能是由于以下原因导致的:
监听器配置问题:Oracle监听器可能没有配置正确,或者监听器没有启动。你可以检查Oracle监听器的日志,看是否有相关的错误信息。
服务名问题:在连接字符串中使用的服务名可能不正确。你可以检查你的连接字符串,看是否有拼写错误或其他错误。
网络问题:客户端和服务器之间的网络连接可能有问题。你可以检查网络连接,看是否有丢包或延迟的情况。
对于你的情况,既然你能通过其他方式正常连接Oracle数据库,那么很可能是Flink SQL连接字符串中的服务名不正确。你可以检查你的连接字符串,看是否有拼写错误或其他错误。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。