Verbindung zu MSSQL-Server, Werte übergeben

  • 10 Antworten
  • Neuester Beitrag
Diskutiere Verbindung zu MSSQL-Server, Werte übergeben im Android App Entwicklung im Bereich Betriebssysteme & Apps.
M

m.neumann

Neues Mitglied
Ein freundliches Hallo in die Runde,

ich such mir jetzt schon seit Tagen auf diversen Foren und unterschiedlichsten Plattformen den Wolf bzgl. meines Problems bei Programmierung einer Android App (für Android 2.3.3)

Undzwar möchte ich folgendes erreichen:
Ich möchte in einer LogIn-Activity Nutzername und Passwort eintragen lassen. Bei Klick auf eine Schaltfläche soll dann die Verbindung zum SQL Server hergestellt werden und in einer Datenbank-Tabelle (nennen wir die Datenbank mal TestDB und die Tabelle mal TestTabelle) die Werte verglichen werden. Kann mir jemand sagen, wie ich das ganze gebacken bekomme? Ich habe eine Activity mit den beiden EditTexts und einem Button, der auch schon entsprechend bei onClick etwas macht, jetzt muss halt nur diese Datenübergabe geschehen an die zusätzlich erstellte Klasse, welche dann wiederrum der LogIn-Activity mitteilen soll, dass es einen User mit diesem Namen und dazugehörigem Passwort gibt, sodass es danach im Quelltext der LogIn-Activity weitergeht.

Kann mir da jemand helfen? Bin wirklich schon ganz wuschig vor Verzweiflung.

Besten Dank schonmal vorab für jeden hilfreichen Kommentar.

Noch zu den Grundlagen:
Programmierumgebung: Eclipse
JDBC ist eingebunden, AndroidVersion: 2.3.3
MSSQL Server 2008 Express mit Management Studio vorhanden.
 
J

JustinTime

Fortgeschrittenes Mitglied
Ich würde davon absehen mit einer App auf einen MySQL Server direkt zuzugreifen. Schon allein wegen der Sicherheit wäre es wohl besser das ganze über z.B. PHP machen.

Dieses Beispiel ist zwar nicht 100% das was du suchst aber auf die Art hab ich es das erste mal auch gemacht und dann eben angepasst auf meine eigenen Bedürfnisse.
 
Zuletzt bearbeitet:
M

m.neumann

Neues Mitglied
sieht spontan nach jede Menge Umstrukturierung aus ... ich danke dir erstmal und arbeite mich da mal durch. Für weitere Hinweise óder andere Ideen bin ich stets dankbar.

edit: mySql bringt mir natürlich garnix, da die MS SQL Datenbank bereits existiert (Mit entsprechendem Umfang) und ich auf dem Server jetzt schlecht auch noch mit MySql anfangen kann. ;)
 
Zuletzt bearbeitet:
J

JustinTime

Fortgeschrittenes Mitglied
Ja den teil kannst du dann ja überspringen und musst nur die PHP Abfragen und den Zugriff auf deine Datenbank anpassen :)

Anstelle der AsyncTasks im Beispiel kannst du die ganzen Netzwerksachen auch direkt mit Volley lösen. Das ist wirklich eine tolle Library die Google da gezimmert hat.
 
Zuletzt bearbeitet:
A

amfa

Experte
Im übrigen muss das auch nicht zwingend PHP sein.
MS SQL heißt es ist ein Windows Server, somit kann man da beispielsweise ASP nutzen.
Du brauchst halt irgendein Zwischenschicht, im Zweifel kannste auch nen eigenes Programm bauen das nicht per HTTP arbeitet sondern mit einem eigenen Protokoll.

Nur wie schon erwähnt direkt auf die DB ist keine gute Idee.
 
DagobertDokate

DagobertDokate

Experte
m.neumann schrieb:
Ein freundliches Hallo in die Runde,

ich such mir jetzt schon seit Tagen auf diversen Foren und unterschiedlichsten Plattformen den Wolf bzgl. meines Problems bei Programmierung einer Android App (für Android 2.3.3).
so viel kannst du gar nicht gesucht haben denn genau dein Thema wurde hier in den letzten 2 Wochen bestimmt 15 mal besprochen zzzzZzzzzzzzzZZZ

LG. Dagobert

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
M

m.neumann

Neues Mitglied
Habe das ganze nochmal überarbeitet, Fehlermeldung ist jetzt: "No suitable Driver" ... kann mir bitte jemand sagen, wo mein gedanklicher/technischer Fehler liegt?

Laut Ausgabe der App springt er auf jeden Fall in den catch- und anschließend logischerwiese in den finally-Zweig.

PHP:
Connection con = null;
String conUrl = "jdbc:sqlserver://localhost; databaseName=CRM; user=m.neumann; password=;";

Statement stmt = null;
try 
{
con = DriverManager.getConnection(conUrl);
Toast.makeText(MainActivity.this, "CONUrl gestartet!", Toast.LENGTH_SHORT).show();

String test = "HALLO ICH BIN EIN TEST";
String name = "UND ICH BIN DER NAME!";
            
// Create and execute an SQL statement that returns some data.
String SQL = "INSERT INTO AAITest VALUES('" + test + "', '" + name + "');";
 stmt = con.createStatement();
stmt.executeUpdate(SQL);
// ... 
} 

catch (Exception e) 
{ 
e.printStackTrace(); 
Toast.makeText(MainActivity.this, "CATCH-Pfad!"+e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();

}

finally 
{
 Toast.makeText(MainActivity.this, "FINALLY-Pfad!", Toast.LENGTH_SHORT).show(); }
 
J

JustinTime

Fortgeschrittenes Mitglied
Jdbc und Anroid geht einfach nicht wirklich gut zusammen. Da wirst du wohl niemals wirklich glücklich mit werden.
 
D

deek

Stammgast
Ich kann meinen Vorrednern nur zustimmen. Direkt aus der App mit der Datenbank zu kommunizieren wird a) schwierig, ist b) sicherheitstechnisch bedenklich (das Passwort steht im Klartext in der App) und c) absolut schlechter Stil.

Was du machen solltest ist einen einfachen REST Server oder meinetwegen SOAP WebService dazwischenzuschalten, der die Anfragen vom Handy bekommt und der selbst mit der Datenbank kommuniziert. Das kann PHP sein, muss es aber nicht. Da geht auch Java oder ASP oder oder oder....
 
M

m.neumann

Neues Mitglied
Hat dafür jemand ein möglichst simples und schnell zu verstehendes Tutorial? ... bin wirklich erst Anfänger bei dem ganzen Thema. :sad:
 
DagobertDokate

DagobertDokate

Experte
Was heißt mir dem ganzen Thema?

Also ich finde das Buch "Restful with Java" sehr gelungen... Auch die Resteasy Dokumentation ist ganz brauchbar.. Wie es bei php odee so aussieht keine Ahnung aber die Theorie ist ja die gleiche ^^

LG. Dagobert

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Ähnliche Themen - Verbindung zu MSSQL-Server, Werte übergeben Antworten Datum
5
0