这是由于 Athena JDBC Driver(v42_2.0.31)中的限制导致的,需要使用 Athena JDBC Driver 提供的另一种方法来获取模式名。可以使用以下代码来获取模式名:
// create a connection to Athena
Connection conn = DriverManager.getConnection("jdbc:awsathena://athena.{REGION}.amazonaws.com:443",
"my_access_key", "my_secret_key");
// create a statement and execute a query
Statement stmt = conn.createStatement();
stmt.executeQuery("SELECT * FROM my_table");
// get the schema name from the ResultSet
ResultSet rs = stmt.getResultSet();
String schemaName = rs.getMetaData().getSchemaName(1);
这里,通过 ResultSet 对象的 getMetaData() 方法获取 ResultSetMetaData,再调用 getSchemaName() 方法获取模式名。这将避免使用 .getSchema() 方法返回空模式的问题。