Benutzer mit den meisten Antworten
Datenbankdesign der Tabellen Index(e)

Frage
-
Hallo erst mal
Ich habe eine mdb mit x Tabellen hier mal 2 Tabellen mit Feldern
tblAdressen
-Adresse (ist Index mit Autowert)
-....tblAdressen_Telefonbuch
-ID_AT (ist Index mit Autowert)
-Adresse (damit ich eben den eintrag einer Adresse zuweisen kann)
-....funktioniert auch alles
da ich nun aber die mdb auf den MSSQL Server Portieren möchte bin ich mir bei der Namensgebung der Felder nicht sicher
hier eben das Feld Adresse in der Tabelle tblAdressen_Telefonbuch sollte man das Feld Adresse dort anders benennen?
Für mich ist der Übersicht wegen einfacher die Felder dann gleich zu benennen nur bekommen diese scheinbar in Access (2003) intern bei der Indexirung einen Internen Namen
In der Tabelle
MSysRelationships sieht es dann so aus<></>
MSysRelationships ccolumn grbit icolumn szColumn szObject szReferencedColumn szReferencedObject szRelationship 1 4352 0 Adresse tblAdressen_TeleNummern Adresse tblAdressen {32F91E92-9155-4B57-AF98-3C40FAE2FE65} Wenn ich dann die mdb mit dem MSSMA zum MSSQL Server bringe meckert er mir immer die Namensgebung {32F91E92-9155-4B57-AF98-3C40FAE2FE65} an.
A2SS0030: Foreign key
{32F91E92-9155-4B57-AF98-3C40FAE2FE65} has a name that might cause problems
for the Access application to function correctly against SQL Server.A2SS0030: Index
'{32F91E92-9155-4B57-AF98-3C40FAE2FE65}' has a name that might cause problems
for the Access application to function correctly against SQL ServerWie mache ich das am besten.
- Bearbeitet MCDPone Samstag, 17. März 2012 08:56
Antworten
-
Hallo!
Falls gar nichts klappt könntest du per VBA die Indizes bzw. Relations durchgehen und jene mit einer GUID als Namen in ein anderes Format umstellen.
Prinzip:
- Inhalt merken
- Index bzw. Relation löschen
- Index bzw. Relation mit gemerktem Inhalt neu erstellen
Eine andere Möglichkeit wäre, den Migration Assistent zu verbessern, damit solche Fälle (die übrigens von Access selbst erzeugt werden) keinen Fehler verursachen. .. das müssten allerdings die Herstellen vom Assistenten machen.
Eine weitere Möglichkeit (die ich nutzte): die Tabellen per selbst geschriebener Anwendung zu portieren. :)
mfg
Josef
Code-Bibliothek für Access-Entwickler
AccUnit - Testen von Access-Anwendungen
Virtueller Access-Stammtisch
- Bearbeitet Josef Pötzl Montag, 26. März 2012 10:45
- Als Antwort markiert MCDPone Dienstag, 27. März 2012 11:29
Alle Antworten
-
Hallo!
Falls gar nichts klappt könntest du per VBA die Indizes bzw. Relations durchgehen und jene mit einer GUID als Namen in ein anderes Format umstellen.
Prinzip:
- Inhalt merken
- Index bzw. Relation löschen
- Index bzw. Relation mit gemerktem Inhalt neu erstellen
Eine andere Möglichkeit wäre, den Migration Assistent zu verbessern, damit solche Fälle (die übrigens von Access selbst erzeugt werden) keinen Fehler verursachen. .. das müssten allerdings die Herstellen vom Assistenten machen.
Eine weitere Möglichkeit (die ich nutzte): die Tabellen per selbst geschriebener Anwendung zu portieren. :)
mfg
Josef
Code-Bibliothek für Access-Entwickler
AccUnit - Testen von Access-Anwendungen
Virtueller Access-Stammtisch
- Bearbeitet Josef Pötzl Montag, 26. März 2012 10:45
- Als Antwort markiert MCDPone Dienstag, 27. März 2012 11:29
-
Hallo!
Nein, erwerben kannt du die nicht, du kannst sie aber downloaden, ausprobieren, umschreiben und verwenden. ;-)
Ich erstellte mir einmal diese DBMS-Test-Anwendung, in der ich für verschiedene DBMS die Tabellen aus Vorlagen-Tabellen (waren Jet-Tabellen) erzeugte.
Beachte aber, dass das nur eine Test-Anwendung ist und der Code eher "auf die Schnelle" geschrieben wurde, daher ist das kein besonders ausgereifter Code. Der Code könnte einiges an Refactoring vertragen - falls du Lust hast, würde ich mich freuen, einen verbesserten Code einbauen zu können. :-)Prinzip der Konvertierung: es gibt je DBMS eine Klasse, in der eingestellt wird, wie die Jet-Datentypen im jeweiligen DBMS laden sollen.
mfg
Josef
Code-Bibliothek für Access-Entwickler
AccUnit - Testen von Access-Anwendungen
Virtueller Access-Stammtisch