本文为您介绍JDBC的常见问题。

问题类别常见问题
JDBC使用

MaxCompute JDBC是否支持关闭Auto-Commit模式?

由于MaxCompute不支持事务,每个查询动作都会即时体现到服务端,即默认为Auto-Commit行为。因此MaxCompute JDBC Driver不支持关闭Auto-Commit模式。

MaxCompute JDBC是否需要使用连接池?

MaxCompute本身提供REST(REpresentation State Transfer)服务,和传统数据库维持长连接的方式不同。MaxCompute JDBC Driver创建连接是十分轻量的操作,因此并没有必要针对MaxCompute的JDBC刻意使用连接池。当然,使用MaxCompute JDBC支持使用连接池的场景。

如何查看MaxCompute JDBC Driver的日志?

MaxCompute JDBC Driver的日志记录了对JDBC接口调用的详细信息,包括调用的类名、方法名、行数、参数以及返回值等。通过这些信息,用户可以轻松地进行Debug。
  • MaxCompute JDBC Driver的日志默认放在Driver Jar包所在的同级目录,文件名为jdbc.log
  • 如果将用户代码与Driver打包为一个超级Jar,日志将会在超级Jar所在的同级目录。

如何获取MaxCompute Logview URL?

MaxCompute JDBC Driver是基于MaxCompute Java SDK的封装。因此,和MaxCompute客户端,MaxCompute Studio以及DataWorks一样,通过MaxCompute JDBC Driver执行SQL时,会生成Logview URL。您可以通过Logview查看任务执行状态、追踪任务进度、获取任务执行结果。

Logview URL可以通过配置日志输出(properties.log4j),默认以标准输出打印到终端屏幕。

MaxCompute JDBC连接读取数据超过1万行限制,如何处理?

JDBC连接数据读取及下载是通过Tunnel实现,出于数据安全考虑会对连接的AccessKey进行Download鉴权,无下载权限的AccessKey会被限制只能读取1万行。更多Download权限授权操作,请参见Download权限控制

通过JDBC访问MaxCompute报错:ODPS-0410042:Invalid signature value,如何解决?

需要您检查您输入的AccessKey ID和AccessKey Secret与您有权限账号的AccessKey ID和AccessKey Secret是否对应,请输入您有权限且正确的AccessKey ID及对应的AccessKey Secret。

如何设置不生成jdbc.log日志文件?

使用JDBC连接MaxCompute时,旧版会在/temp目录下自动生成jdbc.log日志文件,如果您想不生成日志文件,可在配置连接时,补充日志文件相关设置参数logConfFile=false

通过JDBC访问MaxCompute报错:create download session failed: instance id=xxx, Error:ErrorCode=Local Error, ErrorMessage=Failed to create download session with tunnel endpoint,如何解决?

当出现该问题时,说明JDBC驱动使用Tunnel连接MaxCompute获取SQL结果出现了错误,解决方式请参见报错信息:ErrorCode=Local Error, Failed to create download session with tunnel endpoint.