запись файла с расширением exe в базу данных
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
запись файла с расширением exe в базу данных
Здравствуйте, помогите пожалуйста. Мне нужно в базу данных вставить файл с расширением exe, vi для соединения к базе я сделал (рис.jpg). Делаю insert с помощью DB Tools Insert Data.vi, формирую кластер Data. Как значения integer и string вставлять знаю, а как вставить exe-шник в поле типа BLOB ?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Никогда с этим не работал, но рискну предположить, что файл сперва нужно считать с помощью Read from Binary File, а затем бинарные данные записать в БД.
BLOB (англ. Binary Large OBject — двоичный большой объект) — массив двоичных данных.
BLOB (англ. Binary Large OBject — двоичный большой объект) — массив двоичных данных.
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Проблема с запуском exe файла из Labview
Здравствуйте, помогите пожалуйста решить проблему. Не запускается приложение exe из labview (open.jpg).
Возникает ошибка "Labview: Memory is full".
Файл program.exe весит 50 Мбт.
Возникает ошибка "Labview: Memory is full".
Файл program.exe весит 50 Мбт.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Проблема с запуском exe файла из Labview
Или путь неверный, или такого файла по указанному пути не существует.
Пример вызова :
Пример вызова :
- Вложения
-
- 2015-09-04_17-35-41.jpg (21.61 КБ) 15925 просмотров
-
- 2015-09-04_17-36-28.jpg (21.9 КБ) 15925 просмотров
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Сделал запись бинарных данных в БД, но теперь возникла другая проблема: как запустить exe файл из базы данных, т.е. делаю select запрос и что с этими бинарными данными делать, чтобы запустился exe файл.dadreamer писал(а):Никогда с этим не работал, но рискну предположить, что файл сперва нужно считать с помощью Read from Binary File, а затем бинарные данные записать в БД.
BLOB (англ. Binary Large OBject — двоичный большой объект) — массив двоичных данных.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: запись файла с расширением exe в базу данных
rt5yhd, очевидно, что вам нужно записать эти данные в файл с помощью Write to Binary File, а затем запустить файл с помощью System Exec.
P.S. Передавать через сервер файлы с помощью базы данных - оригинально, я бы не додумался.
P.S. Передавать через сервер файлы с помощью базы данных - оригинально, я бы не додумался.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Проблема с запуском exe файла из Labview
Кстати говоря, System Exec возвращает не внутреннюю ошибку , а ошибку ОС, т.е. Windows. Ошибки WinAPI описаны в MSDN, но на практике обычно пользуются функцией FormatMessage для получения описания ошибки в текущей локали. Я у себя давно держу вот такой : И вот пример случая как у автора: Описание ошибки будет содержать текст "Не удается найти указанный файл." (код ошибки = 2).rt5yhd писал(а):Возникает ошибка "Labview: Memory is full".
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: запись файла с расширением exe в базу данных
загружать в базу экзешник - как-то это похоже на какие-то не очень хорошие действия.
колдооооовствооооо! (С)
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Путь верный и файл существуетИли путь неверный, или такого файла по указанному пути не существует.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: запись файла с расширением exe в базу данных
rt5yhd, а разрешение на доступ к файлу есть? Программа из-под админа запущена? И что возвращает Check If File Or Folder Exists?
На эксплоит это похоже, но ни разу не видел, чтобы такое делали на , так что наверное это что-то безобидное, типа файлообменника.AlexanderKonoval писал(а):загружать в базу экзешник - как-то это похоже на какие-то не очень хорошие действия.
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Разрешение на доступ к файлу есть, программа из-под админа и Check if File Or Folder Exists возвращает true.dadreamer писал(а):rt5yhd, а разрешение на доступ к файлу есть? Программа из-под админа запущена? И что возвращает Check If File Or Folder Exists?На эксплоит это похоже, но ни разу не видел, чтобы такое делали на , так что наверное это что-то безобидное, типа файлообменника.AlexanderKonoval писал(а):загружать в базу экзешник - как-то это похоже на какие-то не очень хорошие действия.
Это нужно для того, чтобы делать обновления клиентам. Новую версию ПО (файл exe) загружаем в базу данных на сервере. Клиентское приложение смотрит наличие обновлений и если они есть, то предлагает обновиться.
dadreamer вы писали "Кстати говоря, System Exec возвращает не внутреннюю ошибку , а ошибку ОС, т.е. Windows. Ошибки WinAPI описаны в MSDN". А почему эта ошибка ОС? Я посмотрел в labview help, там ошибка с кодом 2 - "Memory is full". Похоже это всё таки ошибка Labview.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Потому что в хэлпе написано:rt5yhd писал(а):А почему эта ошибка ОС? Я посмотрел в labview help, там ошибка с кодом 2 - "Memory is full". Похоже это всё таки ошибка Labview.
И при запуске экзешника он никак не может (и не должен) загружаться в память процесса , это не библиотека. Плюс, 50 мегабайт - маловато, чтобы съесть всю память на компе.System Exec Error Codes
The System Exec VI can return either Windows or LabVIEW error codes. Windows and LabVIEW error codes also can use the same identifying numbers. For example, the System Exec VI can return Windows system error code 2, File_not_Found, in addition to LabVIEW error code 2.
А решение вашей проблемы прямым текстом прописано в хэлпе:
Так что убирайте вход working directory и прописывайте весь путь в command line.working directory is the file system directory from which you want to execute the command. You do not have to set working directory.
Note Do not use working directory to locate the executable you want to run. working directory applies to the executable only after it launches.
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Антивирус стоит Avast. Антивирус отключил, службу Avast Antivirus остановил - таже ошибка. Если я в папку с:\Users\User\Documents\Labview Data скопирую calc.exe, odbcad32.exe или другую программу из system32, то ошибки не возникает, а если запускать например opera_setup.exe или notepad++.exe и т.д. не из system32, то получаю "Memory is full".Borjomy_1 писал(а):Хм... а может проблема со стороны антивируса?
-
- beginner
- Сообщения: 32
- Зарегистрирован: 29 апр 2015, 16:22
- Версия LabVIEW: 2015
- Контактная информация:
Re: запись файла с расширением exe в базу данных
Вот это помогло. Спасибо большое !Так что убирайте вход working directory и прописывайте весь путь в command line.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 10 Ответы
- 2373 Просмотры
-
Последнее сообщение PAG
-
- 9 Ответы
- 1847 Просмотры
-
Последнее сообщение BARD
-
- 16 Ответы
- 3265 Просмотры
-
Последнее сообщение Artem.spb
-
- 12 Ответы
- 600 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 2 Ответы
- 472 Просмотры
-
Последнее сообщение IvanLis