Boro Geschrieben 6. Oktober 2003 Teilen Geschrieben 6. Oktober 2003 Hallo, kann mir jemand sagen was das Dictionary von Datenbanken ist ? Ich habe derzeit folgende Beschreibung: "....Get informationen about a specific field - what table it belongs to, what is it´s internal id, what type of field, how long is it ans so on." Zusätzlich habe ich auch ein Code Beispiel, hier ein Auschnitt: --------------------------------------------------------------------------------------------- if IsObject(objDB) Then objDB.Login "petra", "" ' Log in to the database msg = msg & "Contact.name fieldId= " & objDB.Dictionary.GetFieldId("contact.name") & vbCrLf msg = msg & "Contact.name field length= " & objDB.Dictionary.GetFieldLength(1281) & vbCrLf msg = msg & "FieldName of fieldid 1281= " & objDB.Dictionary.GetFieldName(1281) & vbCrLf msg = msg & "FieldType of fieldid 1281= " & objDB.Dictionary.GetFieldType(1281) & vbCrLf msg = msg & "FullName of fieldid 1281= " & objDB.Dictionary.GetFullName(1281) & vbCrLf msg = msg & "TableID of fieldid 1281= " & objDB.Dictionary.GetTableIdFromFieldId(1281) & vbCrLf msg = msg & "Tablename of fieldid 1281= " & objDB.Dictionary.GetTableName(1281) & vbCrLf msg = msg & "Dictionary revision= " & objDB.Dictionary.Revision & vbCrLf msg = msg & "Dictionary version= " & objDB.Dictionary.Version & vbCrLf msgbox msg, vbInformation + vbOkOnly, "SODictionary" else MsgBox "Unable to connect to database" end if -------------------------------------------------------------------------------------------------- Dieses Script funktioniert auch und gibt Informationen (z.b. eine Feldlänge) für eine Tabelle "Contact" aus. Allerdings verstehe ich nicht woher diese Informationen kommen und welchen Nutzen sie mir bringen. Deswegen suche ich derzeit Informationen über das Dictionary von Datenbanken. Danke im voraus ! Gruß Feivel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 7. Oktober 2003 Teilen Geschrieben 7. Oktober 2003 Welche DBMS? Im Dictionary stehen die Informationen über die Tabellen. Oracle hat z.B. über 100 Tabellen die informationen über die Datenbank selber haben. Die können auch ohne Probleme (wenn man die entsprechenden Rechte hat) abgefragt werden. z.B. select * from dba_objects; enthält alle Infos über alle Objekte in der Datenbank..... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Boro Geschrieben 7. Oktober 2003 Autor Teilen Geschrieben 7. Oktober 2003 Hallo ! Danke erstmal ! Das Datenbanksystem ist o.g. Beispiel ein MS SQL Server 2000. Also sind die Datenbanken Master & Model schon das Dictionary und wenn ich die entsprechende ID der Tabelle kenne kann ich nun mit Hilfe des Scripts abfragen welche Attribute die Felder innerhalb der Tabelle haben ? Hm, hört sich praktisch an, aber welchen Nutzen hab ich momentan davon ? Ich wundere mich deswegen weil mir das als neues bzw. zusätzliches Features dargestellt wurde. Gruß Feivel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 Ob das ein neues Feature im sql-Server ist weiß ich nicht, aber das ganze ist z.B. sehr praktisch um Datenbanken zu vergleichen. Wir haben z.B. eine Entwicklungsdb und eine Produktivumgebung. Ca. alle 1/2 Jahr kommt eine neue Version unserer Applikation heraus. Evt. nötige DB-änderungen sind im Entwicklungssystem während des Entwickelns angelegt worden. Nun ist es mein job beim Relaisewechsel alle die Änderungen auch im Produktivsystem nachzufahren und da ich mir nicht sicher sein kann, das alle Entwickler mir immer alle kleinen Änderungen mitgeteilt haben prüfe ich mit dem Datadictionary die Unterschiede der Datenbanken...... Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Enno Geschrieben 13. Oktober 2003 Teilen Geschrieben 13. Oktober 2003 @Feivel, jein Master & Model sind nicht das Dictionary unter MS-SQL Model ist einfach eine MODEL-DB zum anlegen neuer DaBas mithilfe des Assistenten. Änderungen die Du dort vornimmst. Z.B. Nutzerrechte verteilen oder Tabellen anlegen, wirken sich darauf aus, wie eine danach angelegte Datenbank aussieht. Master ist ein Teil des Dictinarys. Hier stehen alle infos drin, die MS-SQL braucht um die einzelnen Instanzen zukennen. Innerhalb einer jeden Instanz gibt es trotzdem einige Tabellen sys_ die dort dem sys gehören. Die sind dann der zweite Teil des Dictionarys. sys_user z.B. enthält die Infos welche User welche Rechte auf diese Instanz haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.