verwendetes Datenbanksystem: SQL
Hallo Leute!
Ich habe derzeit ein kleines Problem. Ich sollte für einen Kunden ein kleines Programm schreiben, dass mit dem Microsoft SQL Server (v 8.0 --> Also 2000) auf einem Windows Server 2003 gewisse Daten speichern und wieder auslesen kann.
Bei mir zuhause funktioniert das alles ja recht gut, hier läuft aber nur der Standard 2008 SQLEXPRESS, der beim VS 2010 dabei ist. Aber beim Kunden rennt eine richtige SQL-Datenbank, wo man logischerweise mit Benutzername und Passwort arbeiten muss.
Also, habe ich als ConnectionString nun "Server: SERVER; Database: DataStorage; User Id=myUser; password=p@ssword". Das connecten und so funktioniert super.
Und wenn ich dann folgendes machen möchte: "SELECT * FROM USERS" (die Tabelle existiert, hat alle nötigen Spalten und und und) bekomme ich dann folgende Exception:
"Die SELECT-Berechtigung wurde für das USERS-Objekt, DataStorage-Datenbank, Besitzer 'myUser' verweigert.
Hat irgendjemand von euch eine Ahnung, was man dafür umstellen muss?
Der Benutzer 'myUser' hat alle Rechte auf dieser Tabelle.
Hoffe sehr dass mir jemand helfen kann, bin am verzweifeln... 😦
Lg Marc
Hallo Levital,
du musst dem Benutzer auf deine Datenbank mindestens folgende Datenbankrollen freigeben:
db_datareader db_datewriter
Vorgehensweise im MSSQL Management Studio:
Server->Sicherheit->Anmeldungen->Benutzer->Eigenschaften->Benutzerzuordnung:
Datenbank auswählen und darunter die Datenbankrollen wählen.
Gruß
Michael
Ich habe mir nochmal die Berechtigungen angeguckt, und dabei ist mir folgendes aufgefallen:
Der Benutzer hatte bei den Berechtigungen ÜBERALL ein häckhen. Somit nicht nur bei db_datareader/-writer, sondern auch bei db_denydatareader/-writer... 😦
Man, bin ich dämlich. Aber richtig testen kann ich das erst morgen, wenn ich wieder dort bin. Danke trotzdem für die Hilfe, ich werde morgen nochmal bescheid geben, ob alles geklappt hat!
Lg Marc
Hey, wie versprochen noch mein Bericht:
Es hat einwandfrei funktioniert. Nur zwei doofe Häckchen... 🙁
Trotzdem danke 🙂
Hättest du das nicht geschrieben, hätte ich nicht so schnell in diese Einstellungen geschaut, und den Fehler in meinem Programm gesucht 8o
Mfg Marc