4

У меня есть обширная база данных изображений (метаданные 3,25 ГБ, изображения 90 КБ), хранящиеся в устаревшем продукте (idImager V5). Это, в свою очередь, использует SQL Server 2005 в качестве базовой СУБД.

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

В настоящее время база данных находится на диске C: с именем "Windows7_OS". Это имя никогда не менялось с годами. Образы находятся на диске D: с именем «2-й системный диск». Этот диск был назван "Новый том" в прошлом.

У меня есть некоторые изображения, хранящиеся в базе данных, когда имя было "Новый том", и некоторые, когда имя было «2-й системный диск». Если я пытаюсь получить доступ к фотографиям, хранящимся под текущим неправильным именем, я получаю сообщение об ошибке

,

Если я переключаю имена, я получаю идентичное сообщение (включая полное имя пути), но относительно другого имени.

Есть ли способ заставить базу данных изображений принимать оба имени? Первоначально я думал о псевдониме диска - в Windows или SQL Server. Я не нашел способ сделать это. Я не хочу работать с полными базами метаданных и изображений, чтобы разобраться с неправильными именами, а также не хочу настраивать систему с нуля.

Обновить:

Предложение Скотта работает только тогда, когда на одном компьютере привод заменяется на другой. Он не работает, когда один и тот же диск записывается в базу данных дважды под разными метками, но только одна метка видна базе данных одновременно. Проверка этого приложения показала, что настройка обозревателя каталога на исключение папок каталога также удаляет эту опцию из поля зрения.

Обновить:

Было необходимо следовать предложению @ harrymc по духу, но не по деталям. Таблица в базе данных содержит все пути к файлам, содержащим изображения, и метку носителя для каждого пути к файлу. Изменение данных в этой таблице дает точное решение моей проблемы. Это потребовало резервного копирования базы данных и работы с правами владельца базы данных.

3 ответа3

1

Я думаю, что ваша проблема полностью связана с IdImager. Его каталоги должны хранить метку тома, и вам нужно обновить их, что не должно быть трудным процессом с использованием IdImager.

От: http://forum.idimager.com/viewtopic.php?f=14&t=14164

Перейдите в Папки каталогов, выберите папку верхнего уровня (которая может быть идентификатором диска), щелкните правой кнопкой мыши и выберите «Переместить папку каталога». Введите новое местоположение (в вашем случае это то же самое, что и старое местоположение) и нажмите OK.

IIRC это должно занять всего несколько секунд или около того ...`

1

Вместо псевдонима диска вы можете попробовать использовать команду powershell для псевдонима, переименования или перемещения всех файлов. Я бы предложил переместить или переименовать поверх псевдонимов.

Для переименования файлов используется командлет Rename-Item или ren

Rename-Item *.html *.txt     'This renames all files ending with .html to end with .txt

Для перемещения файлов командлетом является Move-Item или mv.

Move-Item c:\images\* d:\images\     'Moves all files from the c:\images\ directory to d:\images\

Я не уверен, что переименование будет работать, но переезд должен.

1

Если SQL Server 2005 проверяет метку тома, невозможно скрыть тот факт, что метка изменилась, поэтому необходимо изменить способ хранения изображений в базе данных.

Единственный способ заменить "Новый том" на «2-й системный диск» в базе данных - это снова импортировать изображения в духе следующего:

  1. Измените имя тома на "Новый том"
  2. Запустите запрос, который выбирает все изображения базы данных на "Новый том"
  3. Сохранить результат запроса в файл
  4. Удалить картинки на "Новый том" из базы данных
  5. Измените имя тома на «2-й системный диск»
  6. Импортируйте сохраненные картинки

Поскольку у меня нет ни SQL Server 2005, ни копии вашей базы данных, я не могу вдаваться в подробности. Я предлагаю сделать полное резервное копирование базы данных перед запуском.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .