So machen Sie Tabellen ohne Schlüssel bearbeitbar
Eine Tabelle ohne eindeutigen Schlüssel ist ohne Freigabe nur lesbar. Freigegeben lässt sie sich über ihre alten Werte ändern und löschen – genau so, wie Access es über eine direkte Verbindung tut.
Lösungsübersicht
Der Dienst bietet für freigegebene Tabellen zwei gebundene Aktionen an (UpdateByOriginal,
DeleteByOriginal); der ODBC-Treiber nutzt sie von selbst. Die Einträge haben dieselben Formen wie beim
Zeilenstempel (schema.tabelle, schema.*, *). Regeln der Aktionen:
OData v4: Tabellen ohne Schlüssel.
Umsetzung
Mit Verwaltungsspeicher (Verwaltungsanwendung):
- Öffnen Sie Datenquellen, und klappen Sie die Datenquelle mit dem Pfeil am Zeilenanfang auf.
- Legen Sie im Register Tabellen-Einstellungen eine Zeile an: Einstellung
keyless_write, Muster etwadbo.Protokoll. - Verlassen Sie die Zeile.
Ohne Verwaltungsspeicher (Konfigurationsdatei): Ergänzen Sie den Eintrag der Datenquelle, und starten Sie den Dienst neu:
{ "Name": "fachdaten", "Provider": "sqlserver", "ConnectionString": "…",
"KeylessWriteTables": [ "dbo.Protokoll" ] }
Danach in beiden Fällen:
- Verknüpfen Sie die Tabelle in Access neu.
- Prüfen Sie: Das Schemadokument deklariert für die Menge die Aktionen
UpdateByOriginalundDeleteByOriginal; ein geänderter Wert in Access wird gespeichert.
Hinweise
- Dubletten bleiben unveränderbar. Treffen die alten Werte mehrere gleiche Sätze, nimmt der Dienst die Änderung zurück (
409); Access meldet „Aktualisierung fehlgeschlagen“, beide Sätze bleiben unverändert. Abhilfe ist ein Schlüssel oder das Bereinigen der Daten. - Langtext vergleicht Access nicht. Schalten Sie für dieselbe Tabelle zusätzlich den Zeilenstempel ein; dann erkennt der Dienst auch eine fremde Änderung nur im Langtext.
- Eine gelistete Tabelle, die doch einen Schlüssel hat, wird weiter über ihn geschrieben; das Protokoll nennt sie.
Verwandte Themen
de/wiki/data-conectivity/database-gateway/how-to/release-tables-without-key.txt · Last modified: by Wolfgang van der Stille