Спасибо, но я, очевидно, установил соединение перед отправкой запроса.

ользую RODBC для отправки запросов на SQL-сервер. Иногда они занимают слишком много времени, поэтому мне нужно отменить их.

Если щелкнуть красную кнопку «Стоп» в RStudio, появится следующее сообщение об ошибке:

R не отвечает на ваш запрос на прерывание обработки, поэтому, чтобы остановить текущую операцию, вам может потребоваться полностью завершить R.

Завершение R приведет к немедленному прекращению сеанса R. Активные вычисления будут прерваны, а несохраненные изменения исходного файла и объекты рабочей области будут отброшены.

Вы хотите прекратить R сейчас?

И если я нажму «да», мой сеанс действительно прекратится. (примечание: использование Rgui вместо RStudio не делает вещи лучше)

Тем не мение:

Когда я использую другое программное обеспечение (называемое «Query ExPlus») для подключения к тому же SQL-серверу, у меня появляется аналогичная кнопка остановки, и нажатие на нее мгновенно прерывает запрос без какого-либо сбоя.

когда я подключаюсь к базе данных PostgreSQL с помощью пакета RPostgres, я также могу прервать запрос в любое время.

Эти два момента заставляют меня думать, что должен быть способ решить мою проблему. Что я могу сделать?

Пока что мой обходной путь:

library(RODBC)
library(R.utils)

withTimeout(mydf <- sqlQuery(myconnection, myquery), timeout=120)

Замечания: У меня нет разрешения убивать запросы со стороны базы данных.

Ответы на вопрос(4)

Ваш ответ на вопрос