Автоматизация Excel – отключить диалоговое окно входа SQL при обновлении запросов

Я использую автоматизацию Excel для обновления SQL-запросов (подключений к книге), встроенных в книгу Excel 2010, а затем выводить таблицу в PDF по расписанию. Все работает отлично, за исключением случаев, когда SQL-сервер отключен / недоступен, что будет происходить время от времени. Я просто хочу игнорировать проблему и продолжить, но Excel, похоже, настаивает на отображении диалогового окна «Вход в SQL Server», которое останавливает мою программу до закрытия диалогового окна. Есть ли способ отключить этот диалог? Я пробовал следующее:

Application.DisplayAlerts = False 

Это остановило диалоговое окно с ошибкой, но не предотвратило диалог «Вход в SQL Server».

Я решил проблему, используя FindWindow (работает в фоновом потоке), чтобы проверить появление диалогового окна входа SQL, а затем с помощью PostMessage закрыть диалоговое окно, позволяющее программе продолжить работу без присмотра. См. Код:

 var blnTerminateThread: Boolean; function CloseSQLLoginDialog(Parameter: Pointer): Integer; var hwdSQLLoginDlg: THandle; begin Result := 0; hwdSQLLoginDlg := 0; blnTerminateThread := False; while (hwdSQLLoginDlg = 0) and (blnTerminateThread = False) do hwdSQLLoginDlg := FindWindow(nil, 'SQL Server Login'); if (hwdSQLLoginDlg <> 0) then begin // Close the 'SQL Server Login' dialog window PostMessage(hwdSQLLoginDlg, WM_CLOSE, 0, 0); Result := 1; end; EndThread(Result); end; ... XLBook.Connections[intCount].OLEDBConnection.BackgroundQuery := False; intThreadID := BeginThread(nil, 0, Addr(CloseSQLLoginDialog), nil, 0, intIDParam); blnRefreshResult := XLBook.Connections[intCount].OLEDBConnection.Refresh; blnTerminateThread := True; CloseHandle(intThreadID); 
  • VLOOKUP / ETL с Python
  • Импортирование выбранной информации из Excel в SQL с выбором в
  • Условный выбор файла excel в качестве источника данных SSRS
  • Диаграмма Excel ER SQL Server импортирует таблицы данных с использованием кода .NET (надстройка Excel)
  • Активировать конкретный лист Excel в задаче скрипта SSIS
  • Можно ли импортировать данные в существующий файл CSV с использованием BCP в SQL Server?
  • Импорт данных из Excel Мастер автоматически определяет типы данных
  • Значение Datetime в Excel неожиданно изменяется при импорте в SQL Server 2012
  • Удаление уникальных строк в файле Excel
  • Не удалось прочитать данные Excel на сервере в базе данных
  • Ошибка подключения к базе данных SQL из-за ошибки при инициализации провайдера
  • Interesting Posts
    Давайте будем гением компьютера.