C# Mysql

06/30/2014 19:13 stotterer09#1
Hallo ich versuche eine Verbindung mit meinem c# Porgramm und einer MySql db herzustellen dafür benutze ich die Connector dll von Oracle

Das sind meine Includes
Code:
using System;
using System.Threading;
using System.Net.Sockets;
using System.IO;
using System.Net;
using System.Text;
using System.Collections.Generic;
using MySql.Data;
using MySql.Data.MySqlClient;
using MySql;
Das ist mein Code
Code:
			string myConnectionString = "SERVER=localhost;" +
				"DATABASE=mydatabase;" +
				"UID=user;" +
				"PASSWORD=mypassword;";
			MySqlConnection connection = new MySqlConnection(myConnectionString);
			MySqlCommand command = connection.CreateCommand();
Bei der erstellung des Objekts connection und command kommt beim compilen
folgender Fehler:
'System.Data.Common.DbConnection' ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' hinzu.

Ich werde aus dem nicht schlau habt ihr eine idee
bzw. ich check nicht wie ich einen verweis auf System.data ersllen soll

mfg
06/30/2014 20:07 tolio#2
du gehst in deine projekteinstellungen und fügst bei den verweisen einen verweis zu der geforderten assembly hinzu

desweiteren solltest du genau überlegen wann du eine sql verbindung in deinem programm nutzt denn ein dritter kann einfach in den code schauen und dort die verbindungsdaten abgreifen und nein da hilft auch kein verschlüsseln, obfuscaten oder sonst was
06/30/2014 20:38 stotterer09#3
Quote:
Originally Posted by tolio View Post
du gehst in deine projekteinstellungen und fügst bei den verweisen einen verweis zu der geforderten assembly hinzu

desweiteren solltest du genau überlegen wann du eine sql verbindung in deinem programm nutzt denn ein dritter kann einfach in den code schauen und dort die verbindungsdaten abgreifen und nein da hilft auch kein verschlüsseln, obfuscaten oder sonst was
Lol hab gedacht muss irgendwas im code machen naja bin selten doof hätte echt selbst drauf kommen können

Vielen dank

achja
das wird eine server anwendung also keine sorge :)
07/01/2014 02:44 Black Tiger ツ#4
Quote:
Originally Posted by tolio View Post
du gehst in deine projekteinstellungen und fügst bei den verweisen einen verweis zu der geforderten assembly hinzu

desweiteren solltest du genau überlegen wann du eine sql verbindung in deinem programm nutzt denn ein dritter kann einfach in den code schauen und dort die verbindungsdaten abgreifen und nein da hilft auch kein verschlüsseln, obfuscaten oder sonst was
Dachte dafür gebe es extra read-only User?
07/01/2014 03:32 Requi#5
Quote:
Originally Posted by Black Tiger ツ View Post
Dachte dafür gebe es extra read-only User?
Es geht darum, dass man die Binary decompilen kann und dort die Daten des MySQL Servers sieht.
07/01/2014 11:24 Mostey#6
Quote:
Originally Posted by Black Tiger ツ View Post
Dachte dafür gebe es extra read-only User?
Man nehme eine SELECT * from t_accounts WHERE ID = 5 Abfrage und ändert diese zu SELECT * from t_accounts WHERE ID = 0, wenn man weiß, das ein Administratorkonto unter der ID 0 verzeichnet ist. Ansonsten eben T&E.

Und das ist nur eine Möglichkeit, die mir hier mit RO Rechten einfällt.
07/01/2014 11:45 supercracker13#7
Da das Programm nur auf nem Server läuft sehe ich da kein Problem, solange keiner Zugriff auf dieses Programm hat ^^

Für andere Zwecke würde ich eher PHP empfehlen ^^
07/01/2014 12:57 stotterer09#8
Das ist der TCP-IP server
der sich mit der db verbindet

und der Client verbindet sich über tcpip mit dem server
07/16/2014 21:47 FreewayC#9
Hi,

du hast die falschen DLL´s eingebunden.
Visual Studio 2010 -> Framework 4.0
Visual Studio 2013 -> Framework 4.5

Wenn du das ZIP File entpackst bekommst du mehrere Ordner für die Frameworks, einfach den richtigen auswählen und die DLL´s einbinden.


Gruß
07/16/2014 23:46 ThinSmoke#10
Kleiner Tipp von mir: Wenn das Projekt etwas größer wird, dann schau dir mal das EntityFramework an. Kann dir einiges an Zeit und Aufregung sparen.
07/16/2014 23:51 G0dLesZ#11
Quote:
Originally Posted by Mostey View Post
Man nehme eine SELECT * from t_accounts WHERE ID = 5 Abfrage und ändert diese zu SELECT * from t_accounts WHERE ID = 0, wenn man weiß, das ein Administratorkonto unter der ID 0 verzeichnet ist. Ansonsten eben T&E..
:awesome:

Für jede externe Datenabfrage sind API's zu entwickeln.
gerade mit vermutlich vorhandenen PHP Kenntnissen lässt sich schnell eine RESTful API entwickeln.
Auch mit node.js oder anderen Sprachen/Technologien (z.B. .NET -> WCF) lässt sich sowas besser, sicherer und skalierbarer entwickeln.

Auch ein Server kann kompromitiert werden und so genügt es dem Angreife die Anwendung zu entweden.