Получение имен таблиц базы данных Access с помощью Matlab - PullRequest
3 голосов
/ 23 июня 2010

Я пытаюсь получить список всех таблиц в базе данных Access, используя Matlab.

Я пока использую объект actxobject и могу успешно выполнять запросы к базе данных, но все методы, которые я прочитал здесь , не удалось.

Я постоянно получаю сообщение об ошибке «Нет разрешения на чтение для MSysObjects». Запрос нормально работает в Access-программе, но реализация моей программы не позволяет мне хранить запрос там.

Итак, мой вопрос: есть ли способ перечислить все таблицы базы данных Access через Matlab?

1 Ответ

5 голосов
/ 23 июня 2010

Рассмотрим этот код:

conn = actxserver('ADODB.Connection');
connString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Nwind.mdb';
conn.Open(connString);

rs = conn.OpenSchema('adSchemaTables').GetRows;
tableNames = rs(3, ismember(rs(4,:),'TABLE') );

и результат:

>> tableNames'
ans = 
    'Categories'
    'Customers'
    'Employees'
    'Order Details'
    'Orders'
    'Products'
    'Shippers'
    'Suppliers'
...