andrgin
Goto Top

Setzen von Benutzernamen und Passwort bei ODBC Verbindung zu SQL Server

Wir haben bei uns in der Firma Winline im Einsatz zum Verwalten aller unserer Bestellungen, Kundendaten, Umsätze, Lagerstände etc. Das ganze wird auf einem SQL Server gespeichert.
Zusätzlich haben wir noch ein paar Access Datenbanken zum Auswerten der Daten, Versenden von Waren etc. im Einsatz, wo die ganzen Tabellen per ODBC verknüpft sind (ca. 5 Datenbanken zu je ca. 30 Tabellen)

Das Problem ist, dass wir ein ziemliches Rechteproblem haben. Momentan wurde alles mit dem Datenbank Admin verbunden, aber teilweise auch mit der Windows Authentifizierung, die ich in dem Fall auch nicht haben will. Wegen Winline brauchen die User die Schreibrechte auf die Datenbank, aber da schützt die Software ja vor unbeabsichtigten Änderungen, was bei Access nicht der Fall ist, da hier sehr schnell Datensätze verloren gehen, überschrieben werden. Schreibzugriffe gibt es so gut wie keine und das kann man eventuell auch anders lösen.

Jetzt habe ich versucht Benutzername und Passwort in die ODBC Verbindung einzutragen und auf TCP/IP statt Named Pipes zu stellen, damit ich die Windows Authentifizierung verhindere.
Als Benutzername trage ich dann meinen Benutzer mit nur Leserechten ein. Passwort habe ich keines vergeben (macht bei uns nicht wirklich Sinn für reinen Lesezugriff)

Das Problem kommt dann in Access. Dort wurde beim verknüpfen der Tabellen nämlich immer irgendetwas eingetragen von SSPI, DB-Admin, teilweise mit Passwort speichern, teilweise nicht.
Kann ich Access irgendwie nachträglich sagen, dass er immer die Einstellungen in der ODBC Verbindung nehmen soll (habe bisher mit System-DNS gearbeitet, geht auch auch ohne Probleme anders). Jede Tabelle einzeln zu trennen und neu zu verknüpfen ist nicht wirklich möglich, da ich das dann 200 Mal trennen und umbenennen müsste und die Abfragen, Formulare etc. dann auch alles durcheinander werfen, wenn die Tabelle nicht da ist. Da kann ich gleich alles neu machen.

Auf jedem PC die ODBC Verbindung einzurichten wäre aber kein Problem, da das nur ca. 20 Rechner sind. Wenn ich händisch im Code etwas nachbessern muss, wäre das auch kein Problem. Einfach den Connection String in TableDefs zu ändern habe ich schon probiert, funktioniert aber auch nicht.

Edit: So ich bin noch etwas weiter. Aktualisieren kann ich die Tabellen mit dem Tabledef Objekt. Ich weiß nur nicht, wie ich ihm nachträglich beibringen soll, dass er für die Tabelle das Passwort speichern soll. Das richtige Property (Bit &H20000 in Tabledef.Attributes) weiß ich schon, aber das lässt sich nicht ändern.

Content-ID: 92179

Url: https://administrator.de/contentid/92179

Ausgedruckt am: 25.11.2024 um 21:11 Uhr