El problema es asi:
Tengo que comparar el esquema de dos bases de datos en Acces usando vb.net y devolver todos los datos/tablas/relaciones, etc que esten presentes en una y no en la otra.
En Access lei que se puede utilizar el documentador, que devuelve la estructura de una base de datos, pero no entiendo como puedo hacer para compararlo :\
Edit:
Encontre esta forma de obtener el nombre de todas las tablas de la base, pero no encuentro todavia como puedo hacer para obtener los campos de cada una. Alguna sugerencia?
Código
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conexion As OleDb.OleDbConnection Dim strConexion As String Dim tablas(0) As String '-- Conexion con la base de datos modelo -- strConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\base.mdb;Jet OLEDB:Database Password=pass;" conexion = New OleDb.OleDbConnection(strConexion) conexion.Open() '-- Almacena en un vector los nombres de todas las tablas -- Dim i As Integer = 0 Dim tabla As DataTable = conexion.GetSchema("TABLES") For Each t As DataRow In tabla.Rows Dim o As Object = Nothing o = t.Item("TABLE_TYPE") If (o.ToString.ToUpper = "TABLE") OrElse (o.ToString.ToUpper = "BASE_TABLE") Then tablas(i) = t("TABLE_NAME").ToString MessageBox.Show(i) For Each c As DataColumn In tabla.Columns MessageBox.Show(c.ColumnName) Next ReDim Preserve tablas(i + 1) i += 1 End If Next MessageBox.Show(tablas(0)) conexion.Close() End Sub End Class
Un saludo y gracias.