Witam,
od paru dni mam problem z nawiązaniem połączenia z bazą danych. Piszę aplikację pozwalającą klientom na sprawdzanie statusu naprawy poprzez telefon. Środowisko to Android Studio, a mój problem polega na brakującym sterowniku od JDBC. Za nic w świecie nie mogę znaleźć opisywanej opcji pod PPM mówiącej o dodaniu pliku .jar do projektu.
Czy mógłby mi ktoś wytłumaczyć "jak krowie na rowie" jak to zrobić?
Poniżej skromny kod testowy z jakiego korzystam:
public class Main22Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main22);
if (Build.VERSION.SDK_INT >= 11) {
android.support.v7.app.ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.hide();
}
}
String polaczenieURL = "jdbc:mysql://mysql.hostinger.pl/xxx?user=xxxt&password=xxx";
//Tworzymy proste zapytanie doa bazy danych
String query = "Select * FROM testtab";
Connection conn = null;
try {
//Ustawiamy dane dotyczące podłączenia
conn = DriverManager.getConnection(polaczenieURL);
//Ustawiamy sterownik MySQL
Class.forName("com.mysql.jdbc.Driver");
//Uruchamiamy zapytanie do bazy danych
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
wyswietlDaneZBazy(rs);
}
conn.close();
}
//Wyrzuć wyjątki jężeli nastąpią błędy z podłączeniem do bazy danych lub blędy zapytania o dane
catch(ClassNotFoundException wyjatek) {
System.out.println("Problem ze sterownikiem");
}
catch(SQLException wyjatek) {
System.out.println("Problem z logowaniem\nProsze sprawdzic:\n nazwę użytkownika, hasło, nazwę bazy danych lub adres IP serwera");
System.out.println("SQLException: " + wyjatek.getMessage());
System.out.println("SQLState: " + wyjatek.getSQLState());
System.out.println("VendorError: " + wyjatek.getErrorCode());
}
}
void wyswietlDaneZBazy(ResultSet rs){
try{
String danezBazy = rs.getString(1);
String myText = rs.getString(1);
TextView textView = (TextView)findViewById(R.id.textView2);
textView.setText(myText);
System.out.println("SUKA DZIAŁA");
}catch(SQLException e) {
e.printStackTrace();
}
}
Oraz błąd przy próbie połączenia z bazą danych:
09-29 22:25:21.300 3701-3701/com.maxima_it.myapplication I/System.out﹕ SQLException: No suitable driver
09-29 22:25:21.300 3701-3701/com.maxima_it.myapplication I/System.out﹕ SQLState: 08001
09-29 22:25:21.300 3701-3701/com.maxima_it.myapplication I/System.out﹕ VendorError: 0
H E L P