Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Verbinden mit Funpic.de Datenbank


Kreater - Mi 09.05.12 18:40
Titel: Verbinden mit Funpic.de Datenbank
Hallo liebe Community-Mitglieder,

ich habe mir heute mal wieder ein kleines Vorhaben in den Kopf gesetzt.

Und zwar möchte ich ein kleines "Tool" erstellen mit dessen Hilfe man sich mit einer Datenbank verbinden kann und Daten Auslesen, Ändern und einschreiben kann.

So dazu habe ich mir nun mehrere Tutorials angeschaut um die Verbindung zu MySQL zu ermöglichen.
Das Problem hierbei ist nun das ich trotz genauer befolgung des Tutorials nur Fehlermeldungen bekomme.

Hier meine Fehlermeldung:

Quelltext
1:
2:
Der Buildvorgang wurde am 09.05.2012 18:35:28 gestartet.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3258: Der Primärverweis "MySql.Data.Entity, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL" konnte nicht aufgelöst werden, da er eine indirekte Abhängigkeit von der .NET Framework-Assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" aufweist, die eine höhere Version 4.0.0.0 als die Version 2.0.0.0 im aktuellen Zielframework aufweist.


Und hier der Code dazu.
(Erstmal nur Verbindung herstellen)

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:
27:
28:
29:
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;
using MySql.Web;

namespace EasyMySQL_Pro
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MySqlConnection connection = new MySqlConnection(@"Server=localhost;Uid=root;Pwd=passwort;Database=dotnet;");
            connection.Open();
        }
    }
}


Und diese Verweise habe ich auch gesetzt.
MySql.Data.dll;
MySql.Data.MySqlClient.dll;
MySql.Web.dll;

ganze ehrlich ? ich habe keine Ahnung was hier nicht stimmt. Habe die Fehlermeldung gegoogelt, alle Versionen vom MySQL Daten Provider – MySQL Connector .NET versucht und und und.

Da ich noch Anfänger bin hoffe ich das ihr mir trotzdem weiterhelfen könnt.

Mfg: Kreater


Kha - Mi 09.05.12 18:48

Dein Target Framework [http://msdn.microsoft.com/en-us/library/bb398202.aspx] steht anscheinend auf 2.0. Zumindest für diese Version des Connectors scheinst du 4.0 zu brauchen, wohl wegen der Entity-Framework-Unterstützung.


Kreater - Mi 09.05.12 20:17

So habe nun alles gefixt danke schön =)

Nun tritt nur beim verbinden ein Fehler auf:

Quelltext
1:
2:
3:
Eine nicht behandelte Ausnahme des Typs "MySql.Data.MySqlClient.MySqlException" ist in MySql.Data.dll aufgetreten.

Zusätzliche Informationen: Unable to connect to any of the specified MySQL hosts.

__

edit. Hier noch mein Code dazu.


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:
27:
28:
29:
30:
31:
32:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.Types;
using MySql.Data.MySqlClient;
using System.IO;

namespace MYSQL_FASTandEasy
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection connection = new MySqlConnection("server=http://miinercity12.phpmyadmin.funpic.de;database=Tabelle1;uid=mysql1056177;password=passwort");
            //MySqlConnection connection = new MySqlConnection(@"Server=" + tb_servername.Text + ";Uid=" + tb_benutzername.Text + ";Pwd=" + tb_passwort.Text + ";Database=" + tb_tabellenname.Text + ";");
           // MySqlConnection connection = new MySqlConnection(@"Server=http://miinercity12.phpmyadmin.funpic.de;Uid=mysql1056177;Pwd=passwort;Database=Tabelle1;");
            connection.Open();
        }
    }
}


Ralf Jansen - Mi 09.05.12 21:13

Höchstwahrscheinlich darfst du bei Funpic (wie bei eigentlich fast jedem kostenloses Angebot) nicht von extern auf die Datenbank zugreifen sondern nur intern von deiner bei Funpic gehosteten Webapplikation. Sollte das wieder erwarten doch gehen solltest du prüfen über welchen Port die Datenbank veröffentlicht ist und diesen Port entsprechend in deiner Firewall freischalten und diesen auch in deinem Connectionstring verwenden. Eine Datenbankverbindung wird sicher nicht über den Http Port gehen.


Kreater - Mi 09.05.12 21:50

Ah ok jetzt versteh ich das okay dankeschön.
habe gerade gegoogelt anscheinend ist das bei Funpic komplett gesperrt.

So da stellt sich mir nun die Frage welche Seiten erlauben denn den externen Zugriff ?
Ich könnte es ja auch erstmal mit XAMPP versuchen da dürfte das ja gehen.