0

リスト文字列を返すように設計された JDBC 接続 Web サービス (Axis2) に問題があります (DB から選択) @Webservice

public ArrayList<String> loadDatabase(String txtSearch) {
    ArrayList<String> myList = new ArrayList<>();
    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://127.0.0.1:3306/smd";
    String user = "root";
    String password = "passw0rd";

    try {
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT VERSION()");
        rs = st.executeQuery("Select * FROM medicine");
        while (rs.next()) {
            String name = rs.getString("NAME");
            myList.add(name);
        }
    } catch (SQLException ex) {
        Logger lgr = Logger.getLogger(Version.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);

    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (con != null) {
                con.close();
            }

        } catch (SQLException ex) {
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);
        }
    }
    return myList;
}

@クライアント

public static void main(String[] args) {
        try {
            ArrayList<String> addData = new ArrayList<String>();
            MedicineJDBCFinderStub mStub = new MedicineJDBCFinderStub();
            MedicineJDBCFinderStub.LoadDatabase stub = new MedicineJDBCFinderStub.LoadDatabase();
            stub.setTxtSearch("t");
            LoadDatabaseResponse result = mStub.loadDatabase(stub);
} catch(Exception ex) {
            ex.printStackTrace();
        }
    }

デプロイは成功しましたが、メイン クラスをクライアントで実行するか、Android で (KSOAP を使用して) 実行すると、同じ問題が発生します。

    SEVERE: No suitable driver found for jdbc:mysql://127.0.0.1:3306/smd
java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/smd
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.med.dic.finder.MedicineJDBCFinder.loadDatabase(MedicineJDBCFinder.java:27)

mysql-connector-java-5.1.25-bin.jar をライブラリに追加し、メインで正常に接続しましたが (Web サービスを使用していません)。

誰でも私が問題を解決するのを助けることができますか? どうもありがとう

4

1 に答える 1

0

Java と Android についてはよくわかりません。追加してみる

Class.forName("com.mysql.jdbc.Driver");

接続ステートメントの上。MySQL と JDBC を使用しているプロジェクトでそれを削除すると、あなたと同じエラーが発生します。

于 2013-05-24T03:54:52.690 に答える