Работа с базой данных из EXE

Работа с файлами и базами данных
Ответить
marsele190
beginner
beginner
Сообщения: 10
Зарегистрирован: 05 май 2010, 12:02
Версия LabVIEW: 9.0
Контактная информация:

Работа с базой данных из EXE

Сообщение marsele190 »

Добрый день! Возникла следующая проблема с чтением базы данных. При ее чтении из не скомпилированного проекта все ОК. Но когда я делаю ЕХЕ, то коннект проходит ОК, а чтение базы не происходит. Подскажите пожалуйста в чем может быть проблема?
Вложения
BD Error.png
BD Error.png (9.35 КБ) 4219 просмотров
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Работа с базой данных из EXE

Сообщение IvanLis »

Странно, я бы подумал, что где-то используются неверное относительные или абсолютные пути к файлам БД.
Но если соединение проходит, то все нормально.

А ошибку какую выдает?
marsele190
beginner
beginner
Сообщения: 10
Зарегистрирован: 05 май 2010, 12:02
Версия LabVIEW: 9.0
Контактная информация:

Re: Работа с базой данных из EXE

Сообщение marsele190 »

Код такой "-2146824584"

Ошибка следующая:
NI_Database_API.lvlib:Conn Execute.vi->NI_Database_API.lvlib:DB Tools Select Data.vi->TestsqlEXE.vi<ERR>ADO Error: 0x800A0E78
Exception occured in ADODB.Connection: Operace nenн povolena, pokud je objekt uzavoen.Help Path is C:\WINDOWS\HELP\ADO270.CHM and context 1240653 in NI_Database_API.lvlib:Conn Execute.vi->NI_Database_API.lvlib:DB Tools Select Data.vi->TestsqlEXE.vi

Operace nen povolena, pokud je objekt uzavoen.
Примерный перевод:
Операция не допускается, если объект закрыт.

Вот такая ошибка. Что могло произойти при компилировании...
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Работа с базой данных из EXE

Сообщение IvanLis »

Мне почему-то кажется, что нет соединения с БД :dntknw: , т.е. она либо не открыто, либо уже закрыто.

http://support.microsoft.com/kb/209050/ru
-2146824584 (0x800A0E78) Удаленная ошибка ADO: Запрошенная операция не поддерживается при закрытии объекта.
Укажите на скрине, где именно возникает ошибка?
Подключите индикаторы ошибки после каждой :vi: , откомпилируйте программу и посмотрите.
marsele190
beginner
beginner
Сообщения: 10
Зарегистрирован: 05 май 2010, 12:02
Версия LabVIEW: 9.0
Контактная информация:

Re: Работа с базой данных из EXE

Сообщение marsele190 »

Спс за ответы! Ошибку нашел. При запуске ЕХЕ с использованием УДЛ файла, connection reference содержала в себе только путь к этому удл, но никак не параметры соединения. Пришлось заменить удл файл на строку с необходимыми параметрами.
Вложения
BD ok.png
BD ok.png (7.85 КБ) 4138 просмотров
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Работа с базой данных из EXE

Сообщение Oleg B. »

Функция Current VI's Path__ogtk.vi возвращает разные пути при вызове из :labview: и из скомпилированного приложения.
Стандартная функция из файловой палитры ведет себя точно также.
Сверху - вызов ЕХЕ<br />внизу - вызов из среды LabVIEW
Сверху - вызов ЕХЕ
внизу - вызов из среды LabVIEW
veni, vidi, phallomorphi
Formica
beginner
beginner
Сообщения: 27
Зарегистрирован: 01 фев 2013, 13:10
Версия LabVIEW: 11
Контактная информация:

Re: Работа с базой данных из EXE

Сообщение Formica »

Oleg B. писал(а):Функция Current VI's Path__ogtk.vi возвращает разные пути при вызове из :labview: и из скомпилированного приложения.
Стандартная функция из файловой палитры ведет себя точно также.
Panels.png
если это вопрос - то так и должно быть.
т.к. ЛВ создает ехе фаил не в той же папке где исходник( а в ту папку которая указана в настройках)
в вашем случае исходники в F:\prj-2013\Path\ , а билд создан в папке F:\prj-2013\builds\Path\

используйте в программе относительные пути

и я бы брал не путь vi, а путь приложения.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»