




У вас должна быть возможность получить к нему доступ, используя OleDbConnection.
Вот Тут по доступу к БД с использованием его для файлов MS Access.
Что касается получения имен таблиц, еще в те дни, когда я работал с VB6, я всегда использовал ADOX, не знаю, как они это делают сейчас в .NET .. Хотя я знаю, что в файле доступа есть системная таблица - хочу сказать «mso ... ". Я гуглил!
Ага! msysobjects !! xD
В MSDN есть статья о том, как использовать ADO.NET для подключения и редактирования записей в базе данных Access. Как только ваше соединение OleDB установлено, вы можете легко создать свой DataReader / DataAdapter и обрабатывать его по мере необходимости.
Обновлено: Ага! Будь проклят, Роб, и твои богоподобные печатные способности !!! 8 ^ D
Спасибо за предложения. Я смог использовать эти образцы, чтобы собрать этот код, который, кажется, достигает того, что я ищу.
Using cn = New OleDbConnection(connectionstring)
cn.Open()
Dim ds As DataSet = new DataSet()
Dim Schema As DataTable = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
For i As Integer = 0 To Schema.Rows.Count - 1
Dim dt As DataTable = New DataTable(Schema.Rows(i)!TABLE_NAME.ToString())
Using adapter = New OleDbDataAdapter("SELECT * FROM " + Schema.Rows(i)!TABLE_NAME.ToString(), cn)
adapter.Fill(dt)
End Using
ds.Tables.Add(dt)
Next i
End Using
Обсуждение этого вопроса есть в Меньше точки. Вот один пример кода из обсуждения.
public DataTable GetColumns(string tableName)
{
string[] restrictions = new string[4];
restrictions[2] = tableName;
_connDb.Open();
DataTable mDT = _connDb.GetSchema("Columns", restrictions);
_connDb.Close();
return mDT;
}
Ваш первоначальный вопрос в том виде, в каком он сформулирован, не имеет смысла:
Is there an easy way to read an entire Access file (.mdb) into...
Вы определенно не хотите все содержимое файла MDB. Вам нужно содержимое ваших таблиц данных, которые хранятся в MDB. Имейте в виду, что вам также не нужно содержимое системных таблиц.
Ключевой момент:
Вы спрашиваете о JET, а не о ДОСТУПЕ.
Jet - это ядро базы данных, которое поставляется в качестве хранилища данных по умолчанию для Access (и в котором хранятся собственные объекты Access). Но «доступ» означает нечто гораздо большее, чем просто таблицы данных.
Всякий раз, когда вы задаете вопрос и путаете Access и Jet, вы, скорее всего, получите по крайней мере несколько бесполезных ответов.
И такие, как я, вас будут ругать, потому что разработчики действительно должны знать лучше, чем скрывать важные различия.