Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получение MSysobjects из Access  [new]
Барни
Member

Откуда:
Сообщений: 10
Добрый день, проблема следующая имеется файл test.mdb

Нужно получить список пользовательских таблиц из него

Выполняются следующие инструкции :

DECLARE @TARGET_BASE nVARCHAR(MAX)

SET @TARGET_BASE='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.mdb;Persist Security Info=True;'

DECLARE @TEMPSQL nVARCHAR(MAX)

SET @TEMPSQL = 'SELECT * FROM OPENDATASOURCE(''Microsoft.Jet.OLEDB.4.0'','''+@TARGET_BASE +''')...MSysObjects'

EXEC sp_sqlexec @TEMPSQL

Выполнение данных инструкций возвращает ошибку 7357

Не удалось обработать объект "Msysobjects". Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" обнаружил, что у объекта либо нет ни одного столбца, либо текущий пользователь не имеет разрешения на доступ к объекту.

Замена таблицы MSysObjects на любую пользовательскую ошибку не вызывает, наборы данных возвращаются нормально.

Нужно именно получить без использования linking server.
25 июн 13, 14:32    [14480324]     Ответить | Цитировать Сообщить модератору
 Re: Получение MSysobjects из Access  [new]
f2f
Guest
Создай в аксессе вьюшку и читай из нее
25 июн 13, 15:36    [14480942]     Ответить | Цитировать Сообщить модератору
 Re: Получение MSysobjects из Access  [new]
Барни
Member

Откуда:
Сообщений: 10
Не канает. К тому же я не могу модифицировать файл mdb мне нужно узнать существует ли таблица в нем или нет
хотя бы по возникшему exception'у
26 июн 13, 05:27    [14483570]     Ответить | Цитировать Сообщить модератору
 Re: Получение MSysobjects из Access  [new]
Glory
Member

Откуда:
Сообщений: 104760
2.Open MS Access GUI. Didn't figure out how to do this without it, sorry, though it's likely possible.
3.Go to Tools...Options...
4.Click "View" tab
5.select "Hidden objects", "System objects"
6.close tab
7.Go to Tools...Security.. User and Group permissions
8.Select all the table names including MSysObjects
9.click all the "permissions" checkboxes so they set up as "checked" for all entries
10.apply/OK as needed
26 июн 13, 10:24    [14484228]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить