Я создал веб-службу для подключения моего устройства Android к базе данных mysql. Я сделал веб-сервис в java, используя eclipse galileo. Я знаю, что веб-сервис работает хорошо, потому что я могу заставить мой метод возвращать строку, поэтому единственная возможная проблема связана с моим запросом sql:
public String getUsers()
{
String username = "root";
String password = "ticket";
String tablename = "users";
String fieldname = "*";
String query = "SELECT " + fieldname + " FROM " + "android." + tablename + ";";
/* this chnk of code can appear more or less verbatim */
/* in your database apps (including JSPs) */
String url = "jdbc:mysql://"my IP address":3306/android";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()){
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
}
return test;
}
Отладка: я сузил точку отказа до:
Connection con = DriverManager.getConnection(url, username, password);
Но я не могу понять, почему я получаю ошибку.
Я знаю, что мое "имя пользователя и пароль mysql верное": я получил свой url из перспективы разработки базы данных eclipse, когда создал соединение. Да, я попытался переключиться с моего IP-адреса на "localhost" и наоборот. Уже несколько часов, и, может быть, мне просто нужен свежий набор глаз. Любые идеи были бы очень восприимчивыми.
Спасибо.
Если вы получаете java.lang.ClassNotFoundException
, тогда вы должны быть уверены, что поместите свой драйвер MySQL на путь класса для вашего веб-сервиса. В Eclipse это можно сделать довольно легко (я не могу сказать, как именно, поскольку я не знаю вашу точную настройку). Попробуйте googling eclipse classpath
...
com.mysql.jdbc.Driver
- это правильный драйвер MySQL, и остальная часть вашего кода тоже выглядит правильно ...