В настоящее время я использую SQL Server Management Studio 17 для подключения к экземпляру базы данных Oracle, а затем извлекаю некоторые данные и вставляю их в имеющуюся таблицу SQL Server.
Я пытался сделать следующее:
DROP TABLE IF EXISTS [jerry].[dbo].[purchases]
SELECT * INTO [jerry].[dbo].[purchases] FROM OPENQUERY(OLAP, '
proprietary sql code
');
Однако код SQL составляет около 9500 символов и, таким образом, OPENQUERY
дает сбой, что поддерживается статьями MSDN
Я ссылался на эти сайты:
и узнал, что я могу использовать EXEC
для достижения своей цели.
Я попытался реализовать следующее:
EXEC master.dbo.sp_serveroption @server=N'OLAP', @optname=N'rpc out', @optvalue=N'true'
DECLARE @sqlcode VARCHAR(MAX)
SET @sqlcode = 'sql code'
DROP TABLE IF EXISTS [jerry].[dbo].[purchases]
EXEC @sqlcode AT OLAP
Тем не менее, я все еще получаю ошибку Invalid Syntax near OLAP
.
Я подтвердил, что OLAP
- правильное имя нашего администратора баз данных, а другие OPENQUERY
функции работают очень хорошо (с гораздо более короткими операторами SQL).
- Я не могу редактировать запрос SQL
- Я не могу редактировать разрешения для внешних баз данных OLAP (я не администратор баз данных и не нахожусь в группе безопасности)
Любая помощь очень ценится.