【问题标题】:Installing JDBC driver in YCSB project在 YCSB 项目中安装 JDBC 驱动程序
【发布时间】:2015-12-13 05:21:13
【问题描述】:

我想用 YCSB 框架对 PostgreSQL 进行基准测试。因此,我正在关注项目 Github 站点的 instructions 以使用 JDBC 库。

给定的示例说您需要一个我从this 站点下载的 JDBC 驱动程序。我使用的文件(不确定是否正确)是JDBC3 Postgresql Driver, Version 9.3-1103。现在我不确定在哪里放置下载的 jar 以运行项目。到目前为止,我尝试在执行命令$ ./bin/ycsb load jdbc -s -P workloads/workloada 之前将 JAR 放在 bin 文件夹中。这导致了以下错误。

Error in database operation: java.sql.SQLException: No suitable driver found for jdbc:postgresql://127.0.0.1:5432/ycsb?user=postgres&password=password

显然,将驱动程序 JAR 放在 bin 文件夹中的位置不正确,或者可能只是错误的 JAR。谁能告诉我我必须在哪里放置驱动程序以及下载的 jar 是否正确?

【问题讨论】:

  • 如果您使用的是 maven,只需向该库添加一个依赖项。否则,请确保驱动程序位于包含将放入应用程序执行的类路径中的所有 jar 的文件夹中,可能是 lib 或其他东西。这在此处进行了说明:确保除了 ycsb.jar 之外,您的类路径中还有可用的 .jar(取自并改编自第一句中的 *instructions 链接)。
  • 感谢您的快速回复。如何向库中添加依赖项?

标签: java postgresql maven jdbc ycsb


【解决方案1】:

对我有帮助的是以下内容。虽然我确信有更好的方法来做到这一点。

我在POM.xml 中添加了以下依赖项。

<dependency>
  <groupId>com.postgres.driver</groupId>
  <artifactId>postgresdriver</artifactId>
  <version>9.3</version>
  <scope>system</scope>
  <systemPath> "Path to JAR on filesystem" </systemPath>
</dependency>

groupIdartifactId 可以随意选择,version 是可选的。 scope 应设置为 systemsystemPath 必须指向文件系统上的 JAR(例如 /home/user/driver.jar

【讨论】:

    【解决方案2】:

    Jar 只需要以一种或另一种方式位于类路径上。您可以像这样指定 jar 路径:

    ./bin/ycsb load jdbc -s -P workloads/workloada -cp /path/to/jar
    

    -cp 允许您手动将内容添加到类路径

    【讨论】:

      猜你喜欢
      • 2018-09-02
      • 2012-12-01
      • 2019-06-27
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 2015-11-21
      相关资源
      最近更新 更多