Как я могу вставить файлы в базу данных доступа - PullRequest
0 голосов
/ 14 января 2012

Я ищу весь сайт и статьи, но не могу его найти. Как я могу вставить файлы в базу данных доступа (в настольном приложении). Пожалуйста, кто-нибудь, помогите мне.

Ответы [ 5 ]

1 голос
/ 14 января 2012

Создайте столбец типа LONGBINARY в своей таблице и сохраните файл в этом столбце

Статья Чтение, хранение и запись больших двоичных объектов (BLOB) объясняет, как этого достичь

0 голосов
/ 14 января 2012

В представлении конструктора доступа задайте тип столбца в виде файла или даже байта и задайте несколько больших значений.затем используйте класс Stream, чтобы прочитать файл и преобразовать все прочитанное из него в байт и сохранить в вашей базе данных.

0 голосов
/ 14 января 2012

Я действительно не рекомендую делать это. Было бы эффективнее просто сохранить путь к файлу и ссылаться на него, где это необходимо. Если нужно, вот код C # для чтения файла.

Вот функция для чтения файла:

public static byte[] ReadFile(string filePath)
{
  byte[] buffer;
  FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
  try
  {
    int length = (int)fileStream.Length;  // get file length
    buffer = new byte[length];            // create buffer
    int count;                            // actual number of bytes read
    int sum = 0;                          // total number of bytes read

    // read until Read method returns 0 (end of the stream has been reached)
    while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
      sum += count;  // sum is a buffer offset for next reading
  }
  finally
  {
    fileStream.Close();
  }
  return buffer;
}

Затем вы захотите использовать поле OLE Object в вашей базе данных для хранения файла.

0 голосов
/ 14 января 2012

Вот статья, в которой рассказывается, как прикреплять файлы и графику к записям в вашей базе данных для Access 2007. Это то, что вы ищете?

0 голосов
/ 14 января 2012

короткий ответ: вы не можете.длинный ответ: вы можете читать их, переносить в двоичные объекты и сохранять их в виде двоичных полей вместе с именем файла и другими данными, имитирующими файловую систему.Но скорее всего, это не лучшее решение для вашей проблемы.Хотите уточнить вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...