Как заставить приложение распознавать два имени для диска?

Как заставить приложение распознавать два имени для диска?

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

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

Текущая ситуация такова, что база данных находится на диске C: под названием "Windows7_OS". Это имя не менялось на протяжении многих лет. Образы находятся на диске D: под названием "2nd System Drive". Этот диск ранее назывался "New Volume".

У меня есть несколько фотографий, сохраненных в базе данных, когда имя было "New Volume", и несколько, когда имя было "2nd System Drive". Если я пытаюсь получить доступ к фотографиям, сохраненным под текущим неправильным именем, я получаю сообщение об ошибке

введите описание изображения здесь.

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

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

Обновлять:

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

Обновлять:

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

решение1

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

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

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

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

решение2

Вместо того, чтобы создавать псевдонимы для диска, вы можете попробовать использовать команду 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\

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

решение3

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

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

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

«Я думаю, это займет всего несколько секунд или около того...»

Связанный контент