开源 JDBC 驱动程序常见问题解答

Google 为 Cloud Spanner 提供了一个开源 JDBC 驱动程序。该开源驱动程序允许应用通过 Java 数据库连接 (JDBC) API 访问 Cloud Spanner。

本页面回答了有关该开源 JDBC 驱动程序的常见问题。 要了解如何使用驱动程序,请参阅使用开源 JDBC 驱动程序

我可以使用此驱动程序发出数据操纵语言 (DML) 和数据定义语言 (DDL) 语句吗?

可以,此驱动程序支持 DML 和 DDL 语句。

此驱动程序如何处理 Cloud Spanner 中的父子表或交错表关系?

交错表关系可映射到 JDBC 中的外键关系。在 Cloud Spanner 中,与父表交错的子表中的记录的主键取决于与其关联的父表记录的主键。Cloud Spanner 将子表主键的父主键部分定义为外键,并引用父表的主键。因此,在 DatabaseMetaData 中调用外键元数据可以导航交错表关系。如需了解详情,请参阅架构和数据模型

此驱动程序是否支持所有 Cloud Spanner 数据类型?

开源 JDBC 驱动程序不支持 Cloud Spanner 的 STRUCT 数据类型。其他所有类型均有相应的映射。

此驱动程序是否支持索引?

可以。您可以使用适当的查询语法SELECT 查询中使用索引。该开源驱动程序还可以将索引作为 DDL 语句进行创建和修改。使用 DatabaseMetaData.getIndexInfo() 方法即可访问有关特定索引的信息。

此驱动程序是否支持参数化查询?

支持,此驱动程序支持位置参数化。

我需要提供自己的连接池吗?

开源 JDBC 驱动程序通过跟踪已打开的所有连接以及用于打开这些连接的连接属性,在内部处理池化工作。例如,当所需的新连接具有与现有连接相同的连接属性时,系统会重复使用这些池连接。如果最近 60 秒内未使用连接,则连接会自动关闭。

如果您要提供自己的池,则可以使用任何标准 JDBC 连接池。将池配置为使用驱动程序类 com.google.cloud.spanner.jdbc.JdbcDriver 并设置有效的 Cloud Spanner JDBC 连接网址。

使用此驱动程序时需要考虑其他限制吗?

此驱动程序的功能限制由底层系统定义。请查看 Cloud Spanner 的配额和限制

我如何获得对此驱动程序的支持?

请参阅我们的支持页面了解支持选项。

后续步骤

了解如何使用开源 JDBC 驱动程序