当前位置: 首页 > 知识库问答 >
问题:

当使用jdbc连接到Google Cloud Spanner仿真器时,需要不需要的凭据

何长恨
2023-03-14

当我尝试使用Google Cloud Spanner开源JDBC驱动程序进行连接时,我得到以下错误消息:

我不认为模拟器需要任何凭据才能在本地工作。有办法绕过这个错误吗?谢谢你。

共有1个答案

黄俊智
2023-03-14
  1. spanner_emulator_host环境变量设置为仿真程序的地址。在本例中,这将是localhost:9010。当设置此环境变量时,JDBC驱动程序知道您正在尝试连接到仿真程序,并将确保不需要或使用任何凭据。设置SPANNER_EMULATOR_HOST环境变量时,可以省略JDBC连接URL中的localhost:9010部分。
  2. 在JDBC连接URL中使用特定的主机名。这是您在示例中尝试使用的方法。为了指示JDBC驱动程序不使用任何凭据,您需要在连接URL中包含usePlainText=true。这将告诉JDBC驱动程序创建纯文本连接(即不使用SSL),并且不使用任何凭据。

以下是如何通过在URL中指定主机名连接到仿真程序的有效示例:

try (Connection connection = DriverManager.getConnection(
      "jdbc:cloudspanner://localhost:9010/projects/test-project/instances/test-instance/databases/test-db;usePlainText=true")) {
  try (ResultSet rs = connection.createStatement().executeQuery("SELECT 1")) {
    while (rs.next()) {
      System.out.printf("%d%n", rs.getLong(1));
     }
  }
}

 类似资料:
  • CPU加速状态:未安装HAX内核模块! 你能告诉我怎么处理这个错误吗?

  • 一般信息: Windows 7 x86 Microsoft Visual C++2008 Mysql 5.6 Mysql连接器C++1.1.3 我正在尝试创建与mysql数据库一起工作的简单C++应用程序。我下载并安装了mysql和mysql C++连接器。 我还配置了visual studio for dynamic library,如本文所述:http://dev.mysql.com/doc/

  • 问题内容: 使用JDBC连接池工具(如DBCP或c3p0)有什么好处? 如果只有 一个* 用户的 小型CRUD 应用程序,我们是否可以将 一个 连接会话创建为一个 单例 ? * PS :我正在构建一个带有小型数据库(5个表)的小型后端应用程序。 问题答案: 从Jon Skeet的答案到连接和语句池的好处是什么?: 创建到数据库服务器的网络连接是(相对)昂贵的。同样,要求服务器准备SQL语句(相对)

  • 问题内容: 我在阅读AngularJS附带的精简版jQuery。但是,我不断听到有关谈论Angular和jQuery的人们的参考。我什至检查了ng- grid 并注意到它说: AngularUI团队用AngularJS和jQuery编写的Angular Data Grid 因此,如果我确实在需要jQuery的时候才使用Angular,那么AngularJS附带的版本又没有提供什么呢? 问题答案:

  • 问题内容: 根据本教程,JDBC 4.0+驱动程序不再需要调用。我成功地遵循了示例中的方法(只是调用)使用MySQL的独立程序,但是当我尝试从属于在Tomcat 7上运行的Web应用程序的类的类连接到完全相同的数据库时,它不会工作 相反,我有一个例外。 该文件位于,我进行了三遍检查,但无法正常工作,因此我开始尝试。我添加了一个呼叫,并且成功了。那是唯一改变的事情。 无论如何,我的问题是,有人知道为

  • 给出结果需要20多秒,而在mongo控制台中同样的查询需要不到一秒。 为什么会出现这种情况,如何减少速度差距?