This is topic Связь с MS Excel через ODBC in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
ОС: Windows 10 Microsoft Office 2016
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Запустите в "Администраторе источнике данных ODBC" трассировщик и в его файле ищите сообщения об SQL-транзакциях и их ошибках.
Posted by 8toni8 (Участник № / Member № 7522) on :
Подозреваю, что в Office 2016 [Лист1$] не так должен быть прописан...
Кстати, еще вопрос, в видео-примере при подключении файла к ODBC, среди доступных форматов был .xlsx, а в современной версии в драйвере Microsoft Excel Driver его нет, подскажите с чем это связано? Данную возможность просто убрали с бесплатной версии?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Какая версия Microsoft Excel используется?
ODBC-драйвер должен строго соответствовать формату файла таблицы Microsoft Excel. При необходимости скачайте адекватный драйвер.
В режиме отладки SQL-запроса в редакторе шаблонов запись в БД в принципе не осуществляется.
В примере предложено запускать узел для отладки под профайлером ПРИ ВЫГРУЖЕННОЙ ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ.
Posted by 8toni8 (Участник № / Member № 7522) on :
1. Версия Excel 2016 MSO (16.0.4591.1000), 64-разрядная
2. Ну у меня соответствует, и файл и выбранный драйвер имеют формат .xls А что еще и драйвера можно подкачивать? А не подскажите, где про это можно почитать?
3. То есть правильно ли я понимаю, что после того как я запускаю трассировку, запись в БД не осуществляется?
4. Я атк и делаю, сначала запускаю профайлер, после чего интегрированную среду разработки закрываю и дальше уже работаю с профайлером.
Я так понимаю в этом причина?
[ 01.03.2018, 16:31: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Скорее всего это она и есть. Вам необходимо установить необходимые компоненты для office от Microsoft. К примеру, описание у них на сайте:
Несколько раз переписал пример из видео, так и не заработало. Скачал пример с сайта AdAstra, - работает. В чем причина так и не понял. Приложение не обязательно выгружать и менять в Excel разделитель "," на ".", как оказалось.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1 и 2. Почему для "Версия Excel 2016 MSO (16.0.4591.1000), 64-разрядная" используется ODBC-драйвер для 32-рарядной Excel?
3. Трассировщик должен быть запущен до того, как будет запущено приложение, обращающееся к БД.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Протестировали у себя на Excel 2013 и 2016 в ОС Windows 8.1 и 10 корпоративные, все 64 битные. Установили по ссылке выше с официального сайта Microsoft приложение AccessDatabaseEngine.exe. После чего запустили проект из видео, ссылка на который есть выше. В шаблоне связи с СУБД в Администраторе ODBC создали пользовательский DSN, выбрали драйвер "Microsoft Excel Driver (xlx, xlsx, xlsm, xlsb)", назвали "ExCh", задали файл "ExChange.xlsx". В пользовательских DNS строка выглядит как:
ExCh | 32/64-разрядная версия | Microsoft Excel Driver (xlx, xlsx, xlsm, xlsb)
После чего сохранили, скомпилировали и запустили проект. Проект работает штатно, происходит успешное подключение к таблице и считывание данных.
Posted by 8toni8 (Участник № / Member № 7522) on :
Все ровно выдает ту же самую ошибку и ведет себя точно так же... Скачал драйвер по ссылке, заменил: 32/64-разрядная версия | Microsoft Excel Driver (xlx, xlsx, xlsm, xlsb) Вот мои файлы: https://yadi.sk/d/F8WUnHJZ3T2pxT
Может где-то ошибся, хотя уже много раз перепроверил и несколько раз просмотрел видео...
Posted by aksvlad (Участник № / Member № 8067) on :
Обратите внимание, в видеоуроке в запросе используются скобки {}, а в примере ().
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Действительно, в графической части видео-урока синтаксис запроса на запись нарушен. Приносим извинения за доставленные неудобства.
В приложенном проекте запрос сформирован без ошибок.