我试图设置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;连接的名称?还是架构?我的本地主机后是否需要端口号?
答案 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和克隆:应该 使用。