2016-11-05 1 views
0

У меня есть связанный сервер SQL Server, указывающий на базу данных sqlite. Я могу выполнять команды select, но не могу делать вставки. Кажется, я должен отключить ведение журнала (journal_mode = off) и/или временное хранилище. Какая у него правильная команда? То, что я в настоящее время:SQL Server привязанный сервер к базе данных sqlite - как установить прагмы?

select * 
from openquery([name of my linked server], 'PRAGMA temp_store=2') 

Ошибка:

Невозможно обработать объект "Прагма temp_store = 2". Поставщик OLE DB «MSDASQL» для связанного сервера «имя сервера» указывает, что либо у объекта нет столбцов, либо у текущего пользователя нет разрешений на этот объект.

Команда, которая не для вставки данных является:

insert openquery ([name of my linked server], 'select * from table1') 

select top 1 * from table1 -- table 1 in sql server has the same structure as table 1 in sqlite. 

Ошибка:

OLE DB провайдер "MSDASQL" для связанного сервера "[имя моего связанного сервера]" вернулся сообщение "невозможно открыть файл базы данных (14)".

Буду признателен за помощь/совет. Благодарю.

ответ

0

С SQLite только операторы SELECT возвращают данные, а операторы SELECT читаются только.

Для чтения и возврата данных со связанного сервера используйте OPENQUERY.
Чтобы выполнить любое другое утверждение на связанном сервере, используйте EXECUTE.

Смежные вопросы