请问,flink Java里面多次执行executeSql会报错Cannot have more t

请问,flink Java里面多次执行executeSql会报错Cannot have more than one execute() or executeAsync() call in a single environment 怎么才能执行ddl创建表呢?

展开
收起
游客3oewgrzrf6o5c 2022-08-11 17:58:13 1430 分享 版权
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    可能是因为你在多次执行executeSql命令时,没有在每次执行之前关闭与数据源的连接,导致了连接被占用。可以在每次执行之前,使用以下代码关闭数据源连接:

    java Copy code // 关闭数据源连接 DataSource dataSource = env.getDataSource(tableName); dataSource.close(); 其中,tableName为要操作的表名。 如果你使用的是Datawork Cloud Platform,可以在数据库管理工具中进行数据表操作,并在操作日志中查看执行executeSql命令的详细信息。具体操作方法可以参考Datawork Cloud Platform的文档。 如果你使用的是Datawork Local,可以在应用程序中手动关闭数据源连接,可以参考以下代码示例:

    java Copy code // 关闭数据源连接 DataSource dataSource = env.getDataSource(tableName); dataSource.close(); 其中,tableName为要操作的表名。

    2023-06-26 11:16:14
    赞同 展开评论

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理