Hallo zusammen,
ich habe mit Eclipse ein kleines Programm geschrieben, welches auf eine Mysql - Datenbank zugreift.
Das Programm funktioniert.
Nun habe ich eine kleine Test-App geschrieben und auch mit der gleichen Klasse auf die Datenbank zugegriffen. Hier gibt es nun Probleme. Ich bekomme keine Verbindung zum Server. Es wäre toll, wenn mir jemand sagen könnte, woran das liegt. Ich bin schon ewig am Fehlersuchen....
Fehlermeldung:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Ich habe es schon mit unterschiedlichen Usern in der mysql-DB versucht. Die User habe ich mit allen Rechten versehen, denke ich :
Grant all privileges on *.app to 'user'@'%' identified by password 'einpasswort';
ich habe mit Eclipse ein kleines Programm geschrieben, welches auf eine Mysql - Datenbank zugreift.
Das Programm funktioniert.
Nun habe ich eine kleine Test-App geschrieben und auch mit der gleichen Klasse auf die Datenbank zugegriffen. Hier gibt es nun Probleme. Ich bekomme keine Verbindung zum Server. Es wäre toll, wenn mir jemand sagen könnte, woran das liegt. Ich bin schon ewig am Fehlersuchen....
Java:
import java.util.Vector;
public class zugriff {
public static void main(String[] args) {
// TODO Auto-generated method stub
String query = "select * from user;";
db_connect dbc = new db_connect(query);
Vector v = dbc.get_v();
String text;
for(int i=0;i<=v.size()-1;i++){
text =""+v.elementAt(i);
System.out.println(text+"\n");
}
}
}
Java:
package com.example.texter;
import java.sql.*;
import java.util.Vector;
public class db_connect {
public Vector v = new Vector(50,10);
String driver = "com.mysql.jdbc.Driver";
db_connect (String query){
try {
Class driver_class = Class.forName(driver);
Driver driver = (Driver) driver_class.newInstance();
DriverManager.registerDriver(driver);
String connectionURL = "jdbc:mysql://blabla.dyndns.org:3306/app";
String user = "root";
String password = "einpasswort";
v.add("user: "+user+", pw:"+password);
//Verbindung zur Datenbank aufbauen
Connection conn = DriverManager.getConnection(connectionURL, user, password);
//Statement-Objekt erzeugen
Statement stmt = conn.createStatement();
if (!query.equals("") ){
ResultSet rs = stmt.executeQuery(query);
//Durch alle Datensätze navigieren
while (rs.next()) {
int id = rs.getInt("uid");
String uname = rs.getString("uname");
String email = rs.getString("email");
v.add("id: "+id+", name: "+uname+", email: "+email+"\n");
}
//Alles wieder schliessen
rs.close();
stmt.close();
conn.close();
}
} catch(Exception e) {
v.add(""+e);
System.out.println(""+e);
} finally {
} // end of try
}
public Vector get_v(){
return v;
}
}
Java:
package com.example.texter;
import java.util.Vector;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view){
EditText et = (EditText) findViewById(R.id.editText1);
String query = et.getText().toString();
db_connect dbc = new db_connect(query);
Vector v = dbc.get_v();
TextView tv;
tv = (TextView) findViewById(R.id.textView1);
String text ;
tv.setText("Vectorgröße: "+v.size()+"\n");
for(int i=0;i<=v.size()-1;i++){
text =""+(i+1)+". Zeile: "+v.elementAt(i);
tv.append(text+"\n");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Java:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.05"
android:ems="10"
android:inputType="textPersonName"
android:text="select * from user;" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.05"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/Abstand"
android:onClick="click"
android:text="@string/button" />
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.32"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Fehlermeldung:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Ich habe es schon mit unterschiedlichen Usern in der mysql-DB versucht. Die User habe ich mit allen Rechten versehen, denke ich :
Grant all privileges on *.app to 'user'@'%' identified by password 'einpasswort';