Мы разрабатываем в среде Oracle ERP.Существует довольно много представлений баз данных MDB (десятки), которые допущены к представлениям Oracle (сотни зависимостей).В Oracle существует более 800 пользовательских представлений, которые подлежат переработке, устарели и, возможно, будут удалены в будущем.
Я вижу подключенную БД Oracle в представлении MDB-Design, но мне нужно записать эти зависимости в список.С таким списком я мог бы выполнить работу по сопровождению программного обеспечения, описанную выше.
У меня есть считыватель метаданных на основе ADOX, но в нем нет таблиц оракулов:
Public Sub ADOX_Oracle_Metadata()
'To reference ADO from Microsoft Access
'In Microsoft Access, select or create a module from the Modules tab in the Database window.
'On the Tools menu, select References....
'Verify that at least the following libraries are selected:
'
'Microsoft ActiveX Data Objects x.x Library
'ADO Ext. 2.7 for DDL and Security (ADOX)
'
Dim cn As ADODB.Connection
Dim ct As ADOX.Catalog
Dim tb As ADOX.Table
Dim strDB As String
Dim ws As Worksheet
Set cn = New ADODB.Connection
Set ct = New ADOX.Catalog
strDB = "L:\Applikationen\Access\DepreciationOutputMail.mdb"
cn.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & strDB & ";"
cn.Open
Set ct.ActiveConnection = cn
For Each tb In ct.Tables
' Tables can be of type TABLE, ACCESS TABLE, SYSTEM TABLE or VIEW
Debug.Print tb.Type & " " & tb.Name
Next tb
cn.Close
Set ct = Nothing
Set cn = Nothing
End Sub
В любом случае это происходитне перечислять связанные таблицы оракула.Может мне просто поменять строку подключения?Как мне узнать правильную строку подключения?Могу ли я прочитать это где-нибудь на компьютере, на котором работает MDB?Можете ли вы предоставить решение?
Это снимок экрана примера ситуации:
Таблицы, которые мне нужно перечислить, отмечены зеленым.
regards, LPNO
Дополнительная информация n по запросу Эрика, вот выдержка из соответствующих столбцов таблицы MSYSOBJECTS, созданная с помощью
SELECT MSysObjects.Connect, MSysObjects.ForeignName, MSysObjects.Name, MSysObjects.Type INTO Extract_MSYSOBJECTS
FROM MSysObjects
WHERE (((MSysObjects.Connect) Is Not Null));
На самом деле столбец NAME уже содержит информацию, которую я искал.В любом случае, подход VBA-кодирования по-прежнему приветствуется, так как существует множество баз данных mdb, которые необходимо проверить по этому поводу.