Tabellen- /Feldeigenschaften aus Oracle-DB ermitteln

22/09/2008 - 10:13 von Andreas Preugschat | Report spam
Hallo NG,
wieder eine Oraclefrage: Ich habe mir eine kleine Routine geschrieben, mit
der ich die Spalteneigenschaften einer Tabelle ermitteln kann. Bei SQL-Server
ist das kein Problem:

With RstAcc
.Open "tblTabellen", CurrentProject.Connection, adOpenStatic
For n = 0 To RstAcc.RecordCount - 1
Tabelle = RstAcc.Fields("Tabellenname")
Set RstFld = Cnn.OpenSchema(adSchemaColumns, Array(Empty, Empty,
Tabelle))
While Not RstFld.EOF
RstNeu.AddNew
Feld = RstFld.Fields("COLUMN_NAME")
Typ = Datentypen(RstFld.Fields("DATA_TYPE"))
RstNeu.Fields("Nummer") = RstAcc.Fields("Nr")
RstNeu.Fields("OrdinalPos") =
RstFld.Fields("ORDINAL_POSITION")
RstNeu.Fields("Feldname") = Feld
RstNeu.Fields("Felddatentyp") = Typ
RstNeu.Fields("ZFLaenge") =
RstFld.Fields("CHARACTER_MAXIMUM_LENGTH")
RstNeu.Fields("Null Zulassen") =
RstFld.Fields("IS_NULLABLE")
RstNeu.Update
RstFld.MoveNext
Wend
.MoveNext
Next n
End With

Mit diesem Code sollen einerseits die Eigenschaften ermittelt und
anschließend in eine Access-DB geschrieben werden (als Vergleichshilfe
alt/neu).

Wende ich den gleichen Code auf eine Oracle-DB an scheint die Bedingung
"While Not RstFld.EOF" niemals einzutreten. Wo liegt hier mein Denkfehler?

Für den verwendeten Gehirnschmalz schon einmal vielen Dank.

Mit freundlichen Gruessen aus Berlin
Andreas Preugschat

Windows XP SP2 // Office 2003 SP2
 

Lesen sie die antworten

#1 Andreas Preugschat
23/09/2008 - 09:52 | Warnen spam
Hallo NG,
mittlerweile habe ich meinen Denkfehler selbst gefunden:
Nicht am Code hats gelegen, sondern an den kirren Zugriffsrechten, die ich
meinem Schema gegeben habe. Nach der Entfernung aller Systemberechtigungen
und der Zuweisung der Rollen "Resource" und "Connect" làuft alles nach Plan.
Mit freundlichen Gruessen aus Berlin
Andreas Preugschat

Windows XP SP2 // Office 2003 SP2

Ähnliche fragen