Barebones mySQL java连接器问题

时间:2016-02-16 03:23:42

标签: java mysql ant

我试图设置mySQL连接器,但我不确定出了什么问题。这是错误:

SQLException: No suitable driver found for jdbc:mysql://localhost/db?user=root&password=

这是我的java:

    //      ESTABLISH DRIVER INSTANCE
    try {
        // The newInstance() call is a work around for some
        // broken Java implementations

        Class.forName("com.mysql.jdbc.Driver").newInstance();
    } catch (Exception ex) {
        // handle the error
    }


    //      ESTABLISH DB CONNECTION
    try {
        conn = DriverManager.getConnection("jdbc:mysql://localhost/db?" +
                               "user="+user+"&password="+pass);

        // Do something with the Connection
        //
        //

    } catch (SQLException ex) {
        // handle any errors
        System.out.println("SQLException: " + ex.getMessage());
        System.out.println("SQLState: " + ex.getSQLState());
        System.out.println("VendorError: " + ex.getErrorCode());
    }

这是我的build.xml:

<project>

<target name="run">

    <javac srcdir="." destdir=".">

         <classpath>
               <pathelement path="./mysql-connector-java-5.1.38i/mysql-connector-java-5.1.38-bin.jar"/>
               <pathelement location="./DB_Test.class"/>
         </classpath>

    </javac>

    <java classname="DB_Test">

          <classpath>
               <pathelement path="./mysql-connector-java-5.1.38i/mysql-connector-java-5.1.38-bin.jar"/>
               <pathelement location="."/>
          </classpath>

    </java>

</target>

</project>

我认为问题很可能出在build.xml中,因为我对ant非常缺乏经验。我不确定这两个&#34; pathelement path&#34;是否是必要的,或者其中任何一个是否有效。我想知道我是否需要为这一个罐子采取日食。

我也认为我的连接url语法可能存在问题。是&#34; db&#34;连接的名称?还是架构?我的本地主机后是否需要端口号?

2 个答案:

答案 0 :(得分:0)

也许您可以将其更改为

Connection   conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","yourpassword" 

答案 1 :(得分:0)

我的问题是我没有正确地将jar添加到类路径中。 我用-cp参数尝试了命令行,它运行了。我发现this非常有帮助。

  

如果你正在做这件事&#34;普通香草&#34;在命令控制台中,您需要在-cp或-classpath中指定JAR文件的路径   执行Java应用程序时的参数。

java -cp .;/path/to/mysql-connector.jar com.example.YourClass
     

。就是将当前目录添加到类路径中   以便它可以找到com.example.YourClass和;是个   类路径分隔符,因为它在Windows中。在Unix和克隆:应该   使用。