如何从终端运行JDBC代码?

时间:2013-04-22 06:37:22

标签: java mysql linux jdbc terminal

我使用-cp <mysql-connector-java jar file>编译了代码。编译期间没有错误。创建了所有类文件

为了运行代码,我转到了一个更高的目录并执行了java packagename.MyPgm
但是,当我运行时,弹出的错误是:

Error in line no: -1
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/feedback?user=root&password=passwd
    at java.sql.DriverManager.getConnection(DriverManager.java:640)
    at java.sql.DriverManager.getConnection(DriverManager.java:222)
    at javaapplication2.HttpHeaderParser.main(HttpHeaderParser.java:69)


  

import com.mysql.jdbc.Connection;   
import com.mysql.jdbc.PreparedStatement;   
import com.mysql.jdbc.Statement;   
import java.io. *;   
import java.sql.DriverManager;   
import java.sql.SQLException;   
import java.util.ArrayList;

公共类HttpHeaderParser {

static Connection connect = null;
static Statement statement = null;
public static void main(String[] args) throws IOException {
    try {
        BufferedReader bufferedReader = new BufferedReader(new FileReader(new File("http_headers.txt")));   
        FirstLine firstObj = null;
        SecondLine secondObj;
        OtherFields otherObj;
        connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/feedback?"+"user=root&password=sicily");  //this will connect to the database
        statement = (Statement) connect.createStatement();

我在这里有一些java String操作。然后是捕获声明。

catch (Exception e) {
        System.out.println("Error in line no: "+lineCount);                 //displays the line number of the input file where the program stopped
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:1)

您仍然需要使用classpath参数运行代码。

应该是:

java packagename.MyPgm -cp <mysql-connector-java jar file>

尝试一下,让/

编辑:

在创建连接之前,应该添加此行。

样品:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
conn = DriverManager.getConnection("jdbc:mysql://hostname:port/dbname","username",  "password");
conn.close();

编辑2:

仅修复代码的某些部分:

OtherFields otherObj;
Class.forName("com.mysql.jdbc.Driver");
connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/feedback?"+"user=root&password=sicily");  //this will connect to the database
statement = (Statement) connect.createStatement();

完成后,编译,

javac HttpHeaderParser.java -cp <mysql jar file>

编译成功后,您需要运行相同的。

java HttpHeaderParser -cp <mysql jar file>

但请记住,编写JDBC代码的地方看起来并不合适。

答案 1 :(得分:1)

你需要一个类似的文件         "mysql-connector-java-5.1.17-bin.jar"         在classpath中,以及程序中对它的适当引用

您似乎正在替换classpath以仅引用一个文件,         你可能至少需要“。”还