MySQL Server URL bei Fremdzugriff?
Hi!
ich wollte eben mit einem selbstgeschriebenen C# Programm auf meine MySQL Datenbank hier zugreifen.
Allerdings habe ich Probleme beim Server.
Über PHP gibt man ja einfach localhost an.
Nur wie ist die Server URL wenn man von woanders zugreift?
Ich hatte meine Webspace URL probiert und mit /localhost, brachte mich aber nicht zum Ziel
Hatte auch dagobert-ng.wmw.cc versucht aber auch ohne Erfolg.
Ich bin sicher dass jemand von euch die Antwort kennt
MFG Simon
//Edit:
Habe jetzt auch die Server Adresse und die Remote Adresse probiert aber ohne Erfolg.
Ich hab gelesen dass bei fast allen SQL Servern der externe Zugriff gesperrt ist.
Ist es also nicht möglich?
ich wollte eben mit einem selbstgeschriebenen C# Programm auf meine MySQL Datenbank hier zugreifen.
Allerdings habe ich Probleme beim Server.
Über PHP gibt man ja einfach localhost an.
Nur wie ist die Server URL wenn man von woanders zugreift?
Ich hatte meine Webspace URL probiert und mit /localhost, brachte mich aber nicht zum Ziel

Hatte auch dagobert-ng.wmw.cc versucht aber auch ohne Erfolg.
Ich bin sicher dass jemand von euch die Antwort kennt

MFG Simon
//Edit:
Habe jetzt auch die Server Adresse und die Remote Adresse probiert aber ohne Erfolg.
Ich hab gelesen dass bei fast allen SQL Servern der externe Zugriff gesperrt ist.
Ist es also nicht möglich?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Deffcon« (4. Dezember 2011, 12:42)
Nein das ist hier nicht möglich.
Das kann ich aber auch gut nachvollziehen, ich sperre das auf meinem Server genauso..
Es ist halt sicherheitstechnisch besser es zu sperren als anders herum.. ich glaube auch nicht, dass das entsperrt wird
Würde mich auch interessieren, ob es mysql Datenbanken mit externen Zugriff kostenlos o.ä gibt.. (würde mich aber wundern)
Wenn du es unbedingt brauchst, dann müsstest du dir einen vServer mieten und selber Datenbanken erstellen (Host auf "alle" stellen - ist dann im phpmyadmin verfügbar)
Grüße,
Kevin
Das kann ich aber auch gut nachvollziehen, ich sperre das auf meinem Server genauso..
Es ist halt sicherheitstechnisch besser es zu sperren als anders herum.. ich glaube auch nicht, dass das entsperrt wird
Würde mich auch interessieren, ob es mysql Datenbanken mit externen Zugriff kostenlos o.ä gibt.. (würde mich aber wundern)
Wenn du es unbedingt brauchst, dann müsstest du dir einen vServer mieten und selber Datenbanken erstellen (Host auf "alle" stellen - ist dann im phpmyadmin verfügbar)
Grüße,
Kevin
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KevinHu« (4. Dezember 2011, 13:58)
eventuell hilft ja db4free.net
ein reines Datenbank Angebot - aber ausdrücklich mit dem Hinweis das es als Testumgebung gedacht ist
ein reines Datenbank Angebot - aber ausdrücklich mit dem Hinweis das es als Testumgebung gedacht ist
Danke für den Link, das klingt echt gut.
Ich wollte es auch nur zu Test- und Übungszwecken nutzen.
Habe mich auch direkt dort angemeldet.
Es hat dort aber auch nicht geklappt, also liegt es wohl eher an meinem Code.
Ich poste die betreffenden Stellen mal rein vielleicht fällt jemandem ja der Fehler ins Auge
Vielleicht liegt es an der Serveradresse? Host ist "db4free.net" und Port "3306"
(c# code)
MFG Simon
Ich wollte es auch nur zu Test- und Übungszwecken nutzen.
Habe mich auch direkt dort angemeldet.
Es hat dort aber auch nicht geklappt, also liegt es wohl eher an meinem Code.
Ich poste die betreffenden Stellen mal rein vielleicht fällt jemandem ja der Fehler ins Auge

Vielleicht liegt es an der Serveradresse? Host ist "db4free.net" und Port "3306"
(c# code)
Spoiler
![]()
C/C++-Quelltext
1 2 3 4 5 6 7 8 9 10 11 string user = "deffcon", pw = "*******", ini = "data4csharp", server = "db4free.net:3306"; private void sqlcreate_Click(object sender, EventArgs e) { System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = "Persist Security Info=False;user id=" + user + "; Password=" + pw + ";Database=" + ini + ";Data Source=" + server + ";Packet Size=4096;Workstation ID=pcname;"; System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("CREATE TABLE visualcsharp (feld1 char(50), feld2 char(50))", conn); }
MFG Simon
deffcon, du könntest ja eine server.php datei erstellen. diese php datei verbindet sich mit der WMW datenbank, und dein C# programm sendet SQL queries an die server.php das ergebnis der serverphp verarbeitest du in deinem C# programm
sowas wie server.php?query=SELECT+*+FROM bla.. &auth=1234
AUTH ganz wichtig, sonst kann jeder darüber unfug treiben
sowas wie server.php?query=SELECT+*+FROM bla.. &auth=1234
AUTH ganz wichtig, sonst kann jeder darüber unfug treiben
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (5. Dezember 2011, 13:04)
ich hab schon lange nicht mehr mit c# rumgespielt.
Gruß
Ego
aber ausgehend von dem Beispiel sehe ich bei dir nicht wo dir Verbindung geöffnet wird."beispiel zu sql in c#"
Im folgenden Beispiel werden eine SqlConnection, ein SqlCommand und ein SqlDataReader erstellt. Im Beispiel werden alle Daten gelesen und auf der Konsole ausgegeben. Abschließend wird im Beispiel der SqlDataReader und danach die SqlConnection geschlossen.siehe msdn.microsoft.com
![]()
C/C++-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 private static void ReadOrderData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } } finally { // Always call Close when done reading. reader.Close(); } } }
Gruß
Ego
@ego:
Das open hatte ich auch schon probiert, brachte aber keine Veränderung, weshalb ich es wieder entfernt habe.
Ich habe es jetzt mal über php probiert, kommt aber auch nichts bei der DB an:
C# Code:
Das result kommt an aber die Daten gehen nicht in die DB.
Das open hatte ich auch schon probiert, brachte aber keine Veränderung, weshalb ich es wieder entfernt habe.
Ich habe es jetzt mal über php probiert, kommt aber auch nichts bei der DB an:
C# Code:
Spoiler
![]()
Quellcode
1 2 3 4 5 6 7WebClient client = new WebClient(); NameValueCollection postData = new NameValueCollection(); postData.Add("name", textBox1.Text); postData.Add("score", textBox2.Text); byte[] responseArray = client.UploadValues("http://bewerbung.wmw.cc/fromcsharp.php", "POST", postData); MessageBox.Show(Encoding.ASCII.GetString(responseArray), "Upload abgeschlossen!");
Spoiler
![]()
PHP-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<?php mysql_connect('localhost','*****','******') or die("Connection Error"); mysql_select_db('*******') or die("Error"); if(isset($_POST['name']) && isset($_POST['nachricht'])) { $name = htmlspecialchars($_POST['name']) ; $nachricht = htmlspecialchars($_POST['nachricht']); $sql = "INSERT INTO `fromcsharp` (`name` , `nachricht`) VALUES ('".$name."', ".$nachricht.")"; $result = mysql_query($sql); echo 'Ihre Anfrage wurde bearbeitet!'; } ?>
Das result kommt an aber die Daten gehen nicht in die DB.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Deffcon« (5. Dezember 2011, 13:45)
hmm localhost? da muss/soll/kann 'db4free.net:3306' rein 
ich kann nur sagen, bei mir geht's

erstbestes PHP-Manual_Beispiel
![]()
PHP-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $mysqli = mysqli_init(); if (!$mysqli) { die('mysqli_init failed'); } if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) { die('Setting MYSQLI_INIT_COMMAND failed'); } if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) { die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed'); } // real_connect($host, $user, $pwd [, $db]) if (!$mysqli->real_connect('db4free.net:3306', 'egoist', '', 'egostestdb')) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } echo 'Success... ' . $mysqli->host_info . "<br>"; $mysqli->close(); ?> </body> </html>
ich kann nur sagen, bei mir geht's
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ego« (5. Dezember 2011, 15:30)
So, ich habe es jetzt hinbekommen von meinem C# Programm die Inputs an die PHP Datei auf meinem WMW Server zu senden und von dort in die db4free.net Datenbank einzufügen.
Die Codes Spoile ich unten mal falls es wen interessiert.
Meine Frage ist jetzt:
Wie kann man das ein wenig sicherer machen?
Stichwort auth?
Hat da jemand vllt nen guten Link?
Und vor allem:
Kann man mit dieser c# => php => sql Variante auch Daten abfragen? Bzw. wie funktioniert das?
Ich denke mal mit php select from von der sql Datenbank, dann die abgefragten Werte irgendwie in ein array in php speichern und diese dann von c# abfragen.
Kann mir jemand Ansätze geben wie die Befehle zum abfragen durch C# heißen?
Die Codes Spoile ich unten mal falls es wen interessiert.
Meine Frage ist jetzt:
Wie kann man das ein wenig sicherer machen?
Stichwort auth?
Hat da jemand vllt nen guten Link?
Und vor allem:
Kann man mit dieser c# => php => sql Variante auch Daten abfragen? Bzw. wie funktioniert das?
Ich denke mal mit php select from von der sql Datenbank, dann die abgefragten Werte irgendwie in ein array in php speichern und diese dann von c# abfragen.
Kann mir jemand Ansätze geben wie die Befehle zum abfragen durch C# heißen?
Spoiler
C# Code:
![]()
Quellcode
1 2 3 4 5 6 7 8 9 10 11private void send_to_php(object sender, EventArgs e) { WebClient client = new WebClient(); NameValueCollection postData = new NameValueCollection(); postData.Add("name", textBox1.Text); postData.Add("nachricht", textBox2.Text); byte[] responseArray = client.UploadValues("http://bewerbung.wmw.cc/fromcsharp.php", "POST", postData); MessageBox.Show(Encoding.ASCII.GetString(responseArray), "Upload abgeschlossen!"); }
PHP Code:
![]()
PHP-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<?php mysql_connect('db4free.net:3306','deffcon','*****') or die("Connection Error"); mysql_select_db('data4csharp') or die("Error"); if(isset($_POST['name']) && isset($_POST['nachricht'])) { $name = htmlspecialchars($_POST['name']) ; $nachricht = htmlspecialchars($_POST['nachricht']); $sql = "INSERT INTO fromcsharp (name, nachricht) VALUES ('$name', '$nachricht')"; $result = mysql_query($sql); echo 'Ihre Anfrage wurde bearbeitet!'; } ?>
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Deffcon« (7. Dezember 2011, 23:17)
ich hab den Anschluß verpasst,
sicherlich ist es interessant das mal auszuprobieren aber
wieso greifst du nicht direkt per c# auf sql zu?
oder ist das nur zum Probieren um dann mal per PHP auf die wmw_mysql_DB zuzugreifen?
Gruß
Ego
sicherlich ist es interessant das mal auszuprobieren aber
wieso greifst du nicht direkt per c# auf sql zu?
oder ist das nur zum Probieren um dann mal per PHP auf die wmw_mysql_DB zuzugreifen?
Gruß
Ego
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ego« (8. Dezember 2011, 19:02)
Ähnliche Themen
-
Datenbanken »-
#HY000Host <== ?
(25. Januar 2008, 19:57)
-
Sonstige Programmiersprachen »-
Batch datei veralbert Programmierer. -HILFE
(27. April 2006, 15:08)
-
Datenbanken »-
MySQL Fehler ?
(16. Mai 2005, 11:44)
-
eigener Server »-
mysql in windows server 2003
(22. Januar 2004, 11:34)
-
FreeWebspace »-
mySQL Datenbank funktioniert nicht !!!
(27. März 2003, 06:34)


