Загрузка файла из access

Работа с файлами и базами данных
Ответить
Аватара пользователя
Михаил23
adviser
adviser
Сообщения: 219
Зарегистрирован: 24 ноя 2008, 17:58
Версия LabVIEW: 2009
Откуда: Москва

Загрузка файла из access

Сообщение Михаил23 »

Добрый день! Стоит задача забирать прикрепленный файл из базы access2007. Нашел пример https://decibel.ni.com/content/docs/DOC-11448.
Но возникает проблема когда я пытаюсь вытянуть файл если его там нет вылетает ошибка:

1172 Error calling method Microsoft.Office.Interop.Access.Dao.Field2.SaveToFile of ObjectId handle: 0x1BE9155C for obj 0x114BC7D[Microsoft.Office.Interop.Access.Dao.FieldClass] in domain [Рабочее место инженера.lvproj for Run] and thread 7948, (System.Reflection.TargetInvocationException: Адресат вызова создал исключение.
Inner Exception: System.Runtime.InteropServices.COMException: Текущая запись отсутствует.).

Надо как то обрабатывать это для пользователя (например выдавать сообщение). Но как это реализовать не знаю. Т.к. 1172 насколько я понимаю вылетает при любой ошибке в .Net. Подскажите выход :help:
Аватара пользователя
IvanLis

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

Re: Загрузка файла из access

Сообщение IvanLis »

Михаил23 писал(а): Но возникает проблема когда я пытаюсь вытянуть файл если его там нет вылетает ошибка
Проверьте стандартными средствами :labview: наличие файла.
Если он есть, то Connect, как и делали раньше.
Если отсутствует, то сообщение пользователю.
Аватара пользователя
Михаил23
adviser
adviser
Сообщения: 219
Зарегистрирован: 24 ноя 2008, 17:58
Версия LabVIEW: 2009
Откуда: Москва

Re: Загрузка файла из access

Сообщение Михаил23 »

Проверьте стандартными средствами :labview: наличие файла.
А как можно это сделать? Фаил то прикреплен к базе как вложение.
Аватара пользователя
IvanLis

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

Re: Загрузка файла из access

Сообщение IvanLis »

Михаил23 писал(а):А как можно это сделать? Фаил то прикреплен к базе как вложение.
Извиняюсь я не правильно понял Ваш вопрос и пример не посмотрел. Мне показалось, что вы к базе Connect делаете.

У вас в базе не ссылка хранится на файл, а специальное поле к которому вы получаете доступ посредством OLE-DB.
Потом Вы содержимое поля средствами .NET переписываете в файл, а потом уже пытаетесь его открыть.

Ошибка возникает если данное поле в базе отсутствует, у Вас это вроде Field2.
Если я правильно понял..... на этот раз.....

Можно сделать запрос, который позволит определить наличие/количество необходимого поля/полей. А уже потом при наличии, сохранять их содержимое во внешний файл.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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