Visio 2007 - Reverse-Engineer-Zugriffsdatenbank schlägt fehl

1151
chris

Ich versuche, eine Reihe von Access-Datenbanken mit Visio 2007 zu dokumentieren.

Der Prozess, dem ich folge, ist

  • Erstellen Sie eine ODBC-Verbindung für die Datenbank und verweisen Sie auf die entsprechende Datei (alle Dateien befinden sich auf meinem lokalen Laufwerk).
  • Starten Sie Visio
  • Erstellen Sie ein neues Datenbankmodelldiagramm
  • Wählen Sie im Menü Datenbank die Option Reverse Engineer aus
  • Wählen Sie die Datenquelle aus der Liste aus
  • Gehen Sie durch den Assistenten und wählen Sie alle Tabellen aus. (Für den Zugriff auf die Datenbank sind kein Benutzername oder Kennwort erforderlich, daher bleiben diese leer.)
  • Wenn ich auf Finish klicke, erhalte ich eine Fehlermeldung:

    Error! Die Spaltendefinition für die Tabelle / Sicht 'TABLENAME' kann nicht extrahiert werden.
    Die Definition ist nicht verfügbar oder Sie verfügen möglicherweise nicht über ausreichende Berechtigungen.
    Bitte wenden Sie sich an Ihren Datenbankadministrator.

Die Datenbank wird in Access 2007 ordnungsgemäß geöffnet.

1
Warum verwenden Sie nicht den Zugriff, um die Dokumentation für die Datenbank zu generieren? soandos vor 12 Jahren 0
Weil ich jeden anderen Teil des Systems, einschließlich einiger SQL-Server, in Visio dokumentiert habe. chris vor 12 Jahren 0

1 Antwort auf die Frage

0
soandos

Dies war ein bekannter Fehler von visio im Jahr 2002, ich weiß nicht, ob er in späteren Versionen behoben wurde. Sehen Sie hier für weitere Informationen. Eine Problemumgehung scheint im letzten Beitrag des Threads zu sein:

Um dies zu umgehen, ändern Sie die gespeicherte Prozedur mit folgendem Code nach dem "wie":


--Visio Bug Fix db (25.02.2004)

@myTableOwner varchar deklarieren (64)

Wählen Sie top 1 @ myTableOwner = u.name von sysobjects s, sysusers u wo aus

s.uid = u.uid und s.name=@tablename

set @tablename = @myTableOwner + '.' + @ tablename