Arhn - архитектура программирования

Драйвер ODBC стал ошибочным при подключении и обработке SQL-запроса.

У меня есть книга макросов Excel (бинарное расширение), в которой внезапно возникли 2 проблемы (иногда она работает нормально).

Проблема №1. Иногда возникает ошибка в строке 5. Похоже, соединение не открывается. Получаем ошибку: Microsoft][ODBC Microsoft Access Driver]Общая ошибка Невозможно открыть раздел реестра Временный (изменчивый) Ace DSN для процесса 0x7f8 Thread 0x1174 DBC

Проблема №2. Иногда возникает ошибка в строке 7. Похоже, что SQL не может быть запущен. Это указывает на то, что вкладка «Рабочий лист» не может быть найдена, хотя она существует. Обратите внимание, что для этой ошибки у нас нет проблем со строкой 5 (открытое соединение). Отображается следующая ошибка: [Microsoft] [Драйвер ODBC Excel] Ядру базы данных Microsoft Jet не удалось найти объект «Имя рабочего листа». Убедитесь, что объект существует... Для проблемы № 2, как только мы закроем диалоговое окно с ошибкой, МАКРОС УДАЛЯЕТСЯ !!!

Примечания

Модуль кода не менялся годами. Несколько дней мы не получаем никаких ошибок/проблем.

Эта проблема возникает для нескольких книг Excel, запущенных несколькими людьми, которые запускают разные блоки кода VBA. Однако 1 из блоков кода одинаков во всех этих макросах, что является фрагментом кода выше.

Исходные данные не менялись годами ни по формату, ни по объему.

Все эти книги находятся на сетевом сервере.

Мы используем драйвер Windows7/Excel 2010/ODBC Excel (xls xlsx xlsm xlsb) 14.00.7180.5000

Фрагмент кода

1-Set adoConn = Nothing
2-Set adoRS = Nothing
3-Application.EnableCancelKey = xldisabled
4-strConn = "Driver={Microsoft Excel Driver (*.xls,*.xlsx,*.xlsm,*.xlsb)};DriverId=1046;Dbq=" & strFileName & ";IMEX=1;"
5-Set adoConn = New ADODB.Connection: adoConn.Open strConn
6-Application.EnableCancelKey = xlInterrupt
7-Set adoRS = New ADODB.Recordset:adoRS.Open Source:=strSQL,ActiveConnection:=adoConn
15.06.2018

  • Каково значение strFileName ? (т. е. это путь UNC?) 15.06.2018
  • Нет буквы диска - Z:/Orders/June/Today.xlsb. Обратите внимание, что в течение 6 лет мы использовали этот кодовый блок и никаких проблем. Вчера все было хорошо. Сегодня у нас были проблемы, как описано выше... 15.06.2018
  • Означает ли это, что 6 лет и никакого обслуживания на сервере также? :-\ Итак, я предполагаю, что Z: на подключенном диске, где он отображается? 15.06.2018
  • На самом деле, прежде чем вы объясните больше - я почти уверен, что это не проблема программирования, а проблема сервера/сети. Я думаю, вам лучше задать этот вопрос в ошибке сервера, Stack Overflow предназначен специально для конкретных проблем кодирования. (Вы можете просто скопировать и вставить свой вопрос туда, возможно, просто пропустить часть макроудаления, и если это все еще проблема, когда соединение установлено, тогда ее можно будет решить проще.) 15.06.2018

Ответы:


1

Мне любопытно, почему вы используете ODBC для подключения Excel к другому файлу Excel, а не для прямой связи данных.

Периодические проблемы с подключением указывают на проблему с сетью. Я бы предложил удалить и заново создать соединение ODBC, но сначала я хотел бы подтвердить значение strFileName, как указано в строке подключения. Это настоящий сервер в вашей внутренней сети или внешний источник? (т. е. это UNC-путь?)

Периодическая ошибка Unable to open registry key, вероятно, звучит хуже, чем есть на самом деле; при возникновении проблем с подключением Windows и Excel легко запутаются в том, в чем заключается настоящая проблема.

Похоже, ваша установка была на месте, возможно, не поддерживалась в течение длительного времени. Когда в последний раз клиент и сервер перезагружались? (Должно быть каждую ночь.) Дефрагментация, очистка диска и т. д.?

Что касается проблемы «удаления» макроса при закрытии диалогового окна с ошибкой, мне нужно увидеть доказательства этого. Я думаю, вы что-то неправильно понимаете, если только вы не переписываете макрос с нуля каждый раз, когда это происходит.

15.06.2018
  • ashleedog- #1- На самом деле мы открываем один и тот же двоичный файл (xlsb) для запуска кода SQL... Я подумал, что для соединения ODBC мне нужно указать путь к файлу, который в данном случае является открытым файлом. .Как бы я мог сделать SQL, кроме подключения к файлу, даже если файл, на который я ссылаюсь, это тот же файл, который я открыл. # 2 - Как мне удалить и воссоздать ODBC _ я не администратор .. кто-то предложил с использованием соединения ACE #3 - Сервер был перезагружен месяц назад #4 - Я МОГУ ВАМ ГАРАНТИРОВАТЬ, что макрос Xlsb) удаляется - весь макрос/файл не найден, если возникает ошибка в строке кода 7. 17.06.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..