Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ОТКРЫТЫЕ ФОРУМЫ / OPEN FORUMS » TRACE MODE 6 бесплатная версия / TRACE MODE 6 Free version » Связь с MS Excel через ODBC

   
Автор / Author Тема / Topic: Связь с MS Excel через ODBC
8toni8
Junior Member / Новичок
Участник № / Member № 7522


Icon 1 отправлено / posted      Профиль для / Profile for 8toni8           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Пытался воспроизвести программу из этого урока:
https://www.youtube.com/watch?v=LKPuqDOnQAc&t=582s

Вроде все правильно, два раза проверил, но почему то не работает. Просто значения в таблицу не добавляются.

Пожалуйста, подскажите, в чем может быть проблема?

Исходники: https://yadi.sk/d/zqeYIfku3Srntk

ОС: Windows 10
Microsoft Office 2016

Сообщения / Posts 22 | Из / From: Rossia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Запустите в "Администраторе источнике данных ODBC" трассировщик и в его файле ищите сообщения об SQL-транзакциях и их ошибках.
Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
8toni8
Junior Member / Новичок
Участник № / Member № 7522


Icon 1 отправлено / posted      Профиль для / Profile for 8toni8           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сделал, вот лог: https://yadi.sk/i/pjkbf2ot3StLeN

Увидел там ошибку длины буфера, правда не понимаю с чем это связано...

Вторая ошибка:
Ошибка синтаксиса в инструкции INSERT INTO.

Проверил, вроде все как в примере.

Пишем:

INSERT INTO [Лист1$]
{
TimeMark,
Ch1,
Ch2,
Ch3
}
VALUES
{
'#MarkTIme#',
'#Ch1#',
'#Ch2#',
'#Ch3#'
}

Читаем:
SELECT
TimeMark #MarkTIme#,
Ch1 #Ch1#,
Ch2 #Ch2#,
Ch3 #Ch3#
FROM
[Лист1$]

Подозреваю, что в Office 2016 [Лист1$] не так должен быть прописан...

Кстати, еще вопрос, в видео-примере при подключении файла к ODBC, среди доступных форматов был .xlsx, а в современной версии в драйвере Microsoft Excel Driver его нет, подскажите с чем это связано? Данную возможность просто убрали с бесплатной версии?

Сообщения / Posts 22 | Из / From: Rossia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Какая версия Microsoft Excel используется?

ODBC-драйвер должен строго соответствовать формату файла таблицы Microsoft Excel. При необходимости скачайте адекватный драйвер.

В режиме отладки SQL-запроса в редакторе шаблонов запись в БД в принципе не осуществляется.

В примере предложено запускать узел для отладки под профайлером ПРИ ВЫГРУЖЕННОЙ ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ.

Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
8toni8
Junior Member / Новичок
Участник № / Member № 7522


Icon 1 отправлено / posted      Профиль для / Profile for 8toni8           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Версия Excel 2016 MSO (16.0.4591.1000), 64-разрядная

2. Ну у меня соответствует, и файл и выбранный драйвер имеют формат .xls А что еще и драйвера можно подкачивать? А не подскажите, где про это можно почитать?

3. То есть правильно ли я понимаю, что после того как я запускаю трассировку, запись в БД не осуществляется?

4. Я атк и делаю, сначала запускаю профайлер, после чего интегрированную среду разработки закрываю и дальше уже работаю с профайлером.

Я так понимаю в этом причина?
 -

[ 01.03.2018, 16:31: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

Сообщения / Posts 22 | Из / From: Rossia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Скорее всего это она и есть. Вам необходимо установить необходимые компоненты для office от Microsoft. К примеру, описание у них на сайте:

https://support.microsoft.com/en-us/help/2721825/unable-to-create-dsn-for-microsoft-office-system-driver-on-64-bit-vers

Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DAN72
Junior Member / Новичок
Участник № / Member № 7523


Icon 1 отправлено / posted      Профиль для / Profile for DAN72           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Аналогичная ситуация на W7_32 + MS Office 2010_32 + TM6 (базовая версия)
пытался воспроизвести программу из этого урока:
https://www.youtube.com/watch?v=LKPuqDOnQAc&t=582s

Несколько раз переписал пример из видео, так и не заработало. Скачал пример с сайта AdAstra, - работает. В чем причина так и не понял. Приложение не обязательно выгружать и менять в Excel разделитель "," на ".", как оказалось.

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1 и 2. Почему для "Версия Excel 2016 MSO (16.0.4591.1000), 64-разрядная" используется ODBC-драйвер для 32-рарядной Excel?

3. Трассировщик должен быть запущен до того, как будет запущено приложение, обращающееся к БД.

Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Протестировали у себя на 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)

После чего сохранили, скомпилировали и запустили проект. Проект работает штатно, происходит успешное подключение к таблице и считывание данных.

Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
8toni8
Junior Member / Новичок
Участник № / Member № 7522


Icon 1 отправлено / posted      Профиль для / Profile for 8toni8           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Все ровно выдает ту же самую ошибку и ведет себя точно так же...
Скачал драйвер по ссылке, заменил: 32/64-разрядная версия | Microsoft Excel Driver (xlx, xlsx, xlsm, xlsb)
Вот мои файлы: https://yadi.sk/d/F8WUnHJZ3T2pxT

Может где-то ошибся, хотя уже много раз перепроверил и несколько раз просмотрел видео...

Сообщения / Posts 22 | Из / From: Rossia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
aksvlad
Junior Member / Новичок
Участник № / Member № 8067


Icon 1 отправлено / posted      Профиль для / Profile for aksvlad           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Обратите внимание, в видеоуроке в запросе используются скобки {}, а в примере ().
Сообщения / Posts 1 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Действительно, в графической части видео-урока синтаксис запроса на запись нарушен.
Приносим извинения за доставленные неудобства.

В приложенном проекте запрос сформирован без ошибок.

Сообщения / Posts 15724 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2