Java,Maven,连接SQL,没有合适的驱动程序

时间:2018-08-24 23:38:24

标签: java sql maven derby

我正在使用Netbeans IED和Java构建项目。该项目正在使用Maven,我正尝试将其连接到出现问题的sql数据库。该代码在Java中有效,但不适用于maven。

以下错误: 找不到适用于jdbc:derby:// localhost:1527 / Database

的驱动程序

Java代码:

public class DatabaseTest {

    public static Connection ConnectionObj = null;
    public static Statement SqlStatement = null;
    public static ResultSet Sqlresult = null;
    public static ResultSetMetaData MetaData = null;
    public static String query = "Select * from Wallet";
    public static String url = "jdbc:derby://localhost:1527/Database";
    public static String user = "ABM";
    public static String pass = "password2";

    public static void main(String[] args) {

        try {    
            //Allows you to connect the database
            ConnectionObj = DriverManager.getConnection(url, user, pass);
            SqlStatement = ConnectionObj.createStatement();
            Sqlresult = SqlStatement.executeQuery(query);
            MetaData = Sqlresult.getMetaData();
            System.out.println("Connection worked");
        } catch (SQLException e) {
            System.err.println("Got an exception! ");
            System.err.println(e.getMessage());
        }
    }
}

舞会依赖:

  <dependencies>
   <dependency>
 <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derby</artifactId>
  <version>10.14.1.0</version>

</dependency>

https://gyazo.com/8937aada3bd4a8f5b108b5dc9b386dd7

1 个答案:

答案 0 :(得分:1)

您的POM文件的这一部分不正确:

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
  </dependency>

您的程序正在尝试使用JDBC连接到Derby数据库,因此您应该使用Derby JDBC驱动程序,而不是MySQL JDBC驱动程序。

将以上内容替换为以下内容:

  <dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derbyclient</artifactId>
    <version>10.14.1.0</version>
  </dependency>

(使用与Derby主版本相同的版本...)


  

该代码在Java中有效,但不适用于Maven。

很好奇。在Java情况下,也许您可​​以正确设置运行时类路径。