Problem mit der SqlConnection?
Hi,
ich habe folgendes Problem mit einem Programm welches ich gerade schreibe. An sich gibt es dort auch keine Fehlermeldungen, aber sobald ich das Programm ausführe wird mir an der stelle wo ich die SqlConnection erstelle ein Fehler angezeigt:
System.ArgumentException: "Schlüsselwort wird nicht unterstützt: 'allowuservariables'."
Wäre super wenn mir eine Person damit helfen könnte. Ich programmiere in VisualStudio mit C# und versuche dort auf meine Datenbank zuzugreifen bzw. diese auszugeben, löschen, .....
Vielen Dank schonmal! :)
Hier nochmal die Bilder der Fehlermeldung und des Codes.
2 Antworten
Vermutlich ist der Connection String falsch.
Tipp: Verwende immer den entsprechenden Connection String Builder (z.B. den SqlConnectionStringBuilder, den OdbcConnectionStringBuilder, etc.). Die bauen immer korrekte Connection Strings. Setze einfach deren Properties und mache mit "ToString()" den entsprechenden Connection String.
Der Code nützt mir nix. Du musst mir den ConnectionString aus der Konfiguration zeigen. Wenn er in den Settings ist, dann kannst Du Dir das mit dem ConnectionStringbuilder auch sparen - dann muss er halt einfach nur korrekt sein. Und das ist gewährleistet, wenn Du den dortigen Dialog für das Erstellen verwendest.
@ohwehohach
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="datenbankuebungen.Properties.Settings.uebungenConnectionString"
connectionString="server=localhost;user id=root;database=uebungen;allowuservariables=True;password=tobias123?;persistsecurityinfo=True"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
Meinst du das?
Ja, den Connection String eben. Schmeiß den Teil "allowuservariables=True;" raus und dann geht's.
Klicke dazu in den Settings auf die drei Punkte ganz rechts neben dem Connection String (Doppelklick auf "Properties" im Projekt, dann auf "Einstellungen", dann in der Zeile mit dem Connection String) und dann schau im Dialogfeld nach dieser Option.
Oder lösche ihn einfach aus dem Text raus.
Ok folgendes :D
Du hast mein Problem gelöst vielen Dank erstmal dafür du hast mir echt weiter geholfen.
Allerdings habe ich jetzt eine neue Fehlermeldung:
Netzwerbezogener oder instanzspezifischer Fehler beim herstellen einer Verbidnun mit SQL-Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)
Wäre toll wenn du das auch noch für mich lösen könntest. Der Fehler taucht bei "sql_adapt.Fill(tblData);" auf
Ja. Der SQL-Server ist unter der angegebenen Adresse eben nicht erreichbar (also auf dem localhost). Falls er überhaupt installiert ist: Hast Du eventuell eine benannte Instanz gemacht? Dann müsstest Du hinter dem Rechnernamen mit Backslash getrennt noch den Instanznamen angeben.
Das verstehe ich ehrlich gesagt nicht so ganz. Wie genau kann ich sehen, ob ich eine gemacht habe oder was ist eine benannte Instanz?
Hast Du den SQL-Server installiert? Wurde der im Rahmen der Installation von Visual Studio mitinstalliert? Dann heißt der korrekte Server meist "localhost\SQLEXPRESS".
Ansonsten klicke auf den Startknopf von Windows und gib ein "Dienste". Dann wird das Fenster mit allen Hintergrunddiensten von Windows geöffnet. Scrolle nach unten bis Du einen Eintrag findest, der "SQL-Server" heißt. Findest Du diesen nicht, ist der SQL-Server nicht installiert. Findest Du diesen Eintrag, dann steht in Klammern hinter "SQL-Server" der Name der Instanz.
Vielen Dank für deine Mühe! Ich habe endlich den Fehler gefunden. Ich hatte eine ganz falsche Verknüpfung in meinem Data Source. Falls ich noch mal Fragen haben sollte merke ich mir dich auf jeden Fall. DAs hast du echt gut gemacht und danke nochmal!
Wie verwaltest du deine Datenbank? Benutzt du SSMS oder gerade im Visual Studio? Du must deinen Connection-String selber angeben.
Der Sieht etwa so aus:
"Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;"
Hi,
danke erstmal für deine schnelle Antwort. Wie setzte ich das jetzt am besten um? Tut mir leid ich bin überhaupt nicht erfahren auf dem Gebiet.
LG