[OT] Datenbank-Metadaten auslesen

12/11/2011 - 18:38 von Lothar Geyer | Report spam
Ich habe das schon in de.comp.datenbanken.misc gepostet, dort aber keine
Antwort erhalten. Darf ich es deshalb hier versuchen?

Ich möchte eine Access-2000-Datenbank mit einem SQLserver vergleichen:
Tabellen, Indizes, Foreign Keys. Bei den Feldern und den Indizes klappt
das auch bestens, nur bei den Keys habe ich Probleme.

Ich mache das in VB6 (MDAC2.8) ungefàhr so:

' alle relationen einer tabelle prüfen
For Each R1 In T1.Keys
If R1.Type = adKeyForeign Then
' in der std db vorhanden ?
found = False
For Each RT In T2.Keys
Set R2 = RT
If R1.Columns.Count = R2.Columns.Count Then
found = True
For ii = 0 To R1.Columns.Count - 1
If R1.Columns(ii).Name <> R2.Columns(ii).Name Then
found = False
Exit For
End If
Next ii
End If
If found Then Exit For
Next RT
If Not found Then
WriteProtLine "Relation " & R1.Name & " vorhanden " &
ColumnNames(R1.Columns)
Else
CheckRelation R1, R2
End If
End If
Next R1

T1 / T2 sind als ADOX.Table definiert. Beim einer SQLserver2000
Datenbank bringt mir das T1.Keys.Count aber immer den Wert 0, auch wenn
der Enterprise Manager was anderes sagt.

Wo liegt mein Fehler?

Lothar Geyer
 

Lesen sie die antworten

#1 Thorsten Albers
13/11/2011 - 00:21 | Warnen spam
Lothar Geyer schrieb im Beitrag
...
Ich habe das schon in de.comp.datenbanken.misc gepostet, dort aber keine
Antwort erhalten. Darf ich es deshalb hier versuchen?



Wàre
de.comp.datenbanken.ms-access
nicht passender als dcd.misc?

Thorsten Albers

gudea at gmx.de

Ähnliche fragen