Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
studieren Member Откуда: Tashkent, Uzbekistan Сообщений: 2845 |
Добрый день! Чтобы получить данные из другой СУБД сначала создаём линкованный сервер, а потом с помощью OPENQUERY получаем нужные данные. Но мне не нужно получать данные, а отправить некий SQL запрос, который совершает некие действия. Например, удалить данные в таблице, выключить триггер, запускать хранимую процедуру и т.д. Т.е. мне нужно что-то наподобие OPENQUERY, но только не возвращающий набор записей, а только отправляющий сам текст запроса. Как это сделать? Спасибо заранее. |
27 июл 16, 12:19 [19461335] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
studieren, ровно в соседней теме туча вариантов. sp_executesql |
27 июл 16, 12:21 [19461343] Ответить | Цитировать Сообщить модератору |
studieren Member Откуда: Tashkent, Uzbekistan Сообщений: 2845 |
TaPaK, Как отправить простейший запрос на удаление данных для ORACLE? Допустим у меня есть линкед сервер "ORACLE", а там некая таблица "TEST.TABLE1". Не могу придумать подходящий текст для sp_executesql. Хотя бы один примерчик можете показать? |
27 июл 16, 12:25 [19461373] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
studieren, OPENQUERY и использовать. Пишите в текст что хотите. |
27 июл 16, 12:26 [19461376] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
studieren, гугл штука запрещённая и опасная? вот например многа букв http://sqlmag.com/sql-server/sql-server-and-oracle-making-connection |
27 июл 16, 12:31 [19461429] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
нет, вроде бы не так :) |
27 июл 16, 12:32 [19461431] Ответить | Цитировать Сообщить модератору |
studieren Member Откуда: Tashkent, Uzbekistan Сообщений: 2845 |
Ну так OPENQUERY возвращает ошибку, т.к. я из ORACLE не получаю данные. Что делать и как быть? Или как-то по хитрому надо написать OPENQUERY? Примерчик не покажите? |
||
27 июл 16, 12:32 [19461437] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
studieren, msdn тоже запрещён? тяжело вам https://msdn.microsoft.com/en-us/library/ms188427.aspx |
27 июл 16, 12:34 [19461460] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
delete top (1) from openquery(linked, ' select * from table1 '); |
27 июл 16, 12:35 [19461465] Ответить | Цитировать Сообщить модератору |
studieren Member Откуда: Tashkent, Uzbekistan Сообщений: 2845 |
А так разве есть решение? Читаю, но что-то не могу найти ответ на мой вопрос. |
||
27 июл 16, 12:35 [19461466] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
studieren, подключайтесь к серверу консолью и работайте. |
27 июл 16, 12:38 [19461494] Ответить | Цитировать Сообщить модератору |
studieren Member Откуда: Tashkent, Uzbekistan Сообщений: 2845 |
Спасибо за наводку ()не знал что можно удалить вот таким образом. О.К. Но есть ещё множество других запросов. Например, как выключить триггер в ORACLE перед там как я туда буду экспортировать млн. записей? Т.е. кроме как OPENQUERY совсем ни как? |
||
27 июл 16, 12:38 [19461495] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
studieren, гугл, что ты делаееешьь https://www.google.com.ua/search?q=Disable Trigger on Remote Server&oq=Disable Trigger on Remote Server&aqs=chrome..69i57.2895j0j4&sourceid=chrome&ie=UTF-8 |
27 июл 16, 12:41 [19461520] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
studieren, если вы об экспорте, то делайте это при помощи SSIS. Там есть и задача выполнения запроса (отключите триггеры - с какими последствиями?), и поток передачи данных. Программирование мышью :) |
27 июл 16, 12:45 [19461550] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |