准系统mySQL java连接器问题



我正在尝试设置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());
    }

这是我的构建.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>

我认为问题可能出在构建中.xml因为我对蚂蚁非常缺乏经验。我不确定这两个"路径元素路径"是否都是必要的,或者它们中的任何一个是否有效。我想知道我是否需要仅仅为了这个罐子而诉诸日食。

我也认为我的连接 url 语法可能存在问题。"db"是连接的名称吗?还是架构?我需要在本地主机后面有一个端口号吗?

也许你可以把它改成

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

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

如果您在命令控制台中以"普通香草"的方式执行此操作,则需要在 -cp 或 -classpath 中指定 JAR 文件的路径 参数在执行 Java 应用程序时。

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

. 只是将当前目录添加到类路径中,作为 好,这样它就可以找到com.example.YourClass和;是 类路径分隔符,就像它在 Windows 中一样。在Unix和克隆中:应该 被使用。

最新更新