- Код: Выделить всё
declare @cn_a varchar(1000) -- строка коннекта
declare @tb_a varchar(300) -- Имя таблицы в базе данных Access
declare @SQL varchar(8000) -- текст скрипта MSSQL
set @cn_a='OpenDataSource(' + '''Microsoft.Jet.OLEDB.4.0''' + ', ' + '''Data Source= ' + @db_path + ';' + 'User ID=' + @db_user + Password=' + @password + ';)'
set @SQL='select * from ' + @cn_a + '...' + @tb_a + 'where id=3'
exec(@SQL) -- запуск скрипта.
проблема следующая это работает только с базами находящимися на машине, где стоит MSSQL в другом случае выдаёт ошибку:
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
[OLE/DB provider returned message: Файл '\\Retiv\D\270705\pd.mdb' не может быть открыт ядром базы данных Microsoft Jet. Файл уже открыт другим пользователем для монопольного доступа или требуется разрешение на просмотр данных.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
[/syntax]