
저는 레거시 제품(idImager V5)에 광범위한 이미지 데이터베이스(3.25GB 메타데이터, 90K 이미지)를 보유하고 있습니다. 이는 SQL Server 2005를 기본 DBMS로 활용합니다.
시간이 지남에 따라 이미지 정보를 추가 및 유지 관리하고 더 큰 디스크를 활용하거나 결함이 있는 드라이브를 교체하기 위해 데이터베이스를 다른 디스크 드라이브로 이동했습니다. 데이터베이스의 위치와 관리되는 이미지의 위치가 다릅니다. 사용 기간에 따라 디스크 이름이 변경되었습니다. 드라이브에 대한 모든 참조는 물리적 드라이브와 논리 드라이브 모두와 관련됩니다. 드라이브 파티셔닝이나 다중 부팅 시스템을 사용해 본 적이 없습니다.
현재 상황은 데이터베이스가 "Windows7_OS"라는 드라이브 C:에 있다는 것입니다. 이 이름은 수년 동안 한 번도 바뀌지 않았습니다. 이미지는 "2nd System Drive"라는 드라이브 D:에 있습니다. 이 드라이브의 이름은 과거에 "새 볼륨"으로 지정되었습니다.
이름이 "새 볼륨"일 때 데이터베이스에 일부 사진이 저장되어 있고 이름이 "두 번째 시스템 드라이브"일 때 일부 사진이 데이터베이스에 저장되어 있습니다. 현재 잘못된 이름으로 저장된 사진에 액세스하려고 하면 오류 메시지가 나타납니다.
.
이름을 바꾸면 동일한 메시지(전체 경로 이름 포함)가 표시되지만 다른 이름과 관련이 있습니다.
이미지 데이터베이스가 두 이름을 모두 허용하도록 하는 방법이 있습니까? 내 초기 생각은 Windows 또는 SQL Server에서 드라이브의 별칭을 지정하는 것이었습니다. 나는 이것을 할 방법을 찾지 못했습니다. 나는 잘못된 이름을 분류하기 위해 전체 메타데이터와 이미지 데이터베이스를 조사하고 싶지 않으며 시스템을 처음부터 설정하고 싶지도 않습니다.
업데이트:
@Scott의 제안은 한 컴퓨터의 드라이브가 다른 컴퓨터의 드라이브로 변경되는 경우에만 작동합니다. 동일한 드라이브가 데이터베이스에서 서로 다른 레이블로 두 번 캡처되는 경우에는 작동하지 않지만 데이터베이스에는 한 번에 하나의 레이블만 표시됩니다. 이 접근 방식을 확인하면 카탈로그 폴더를 제외하도록 카탈로그 탐색기를 구성하면 이 옵션도 시야에서 제거되는 것으로 나타났습니다.
업데이트:
세부 사항은 아니지만 정신적으로 @harrymc의 제안을 따르는 것이 필요하다는 것이 입증되었습니다. 데이터베이스의 테이블에는 이미지가 포함된 모든 파일 경로와 각 파일 경로에 대한 미디어 레이블이 있습니다. 이 테이블의 데이터를 변경하면 내 문제에 대한 정확한 해결책이 제공됩니다. 이를 위해서는 데이터베이스를 백업하고 데이터베이스 소유자 권한으로 작업해야 했습니다.
답변1
SQL Server 2005가 볼륨 레이블을 확인하는 경우 레이블이 변경되었다는 사실을 숨길 수 없으므로 그림이 데이터베이스에 저장되는 방식을 변경해야 합니다.
데이터베이스에서 "새 볼륨"을 "두 번째 시스템 드라이브"로 변경하기 위해 제가 생각할 수 있는 유일한 방법은 다음 정신에 따라 사진을 다시 가져오는 것입니다.
- 볼륨 이름을 "새 볼륨"으로 변경합니다.
- "새 볼륨"에서 모든 데이터베이스 그림을 선택하는 쿼리를 실행합니다.
- 쿼리 결과를 파일에 저장
- 데이터베이스에서 "새 볼륨"의 그림을 삭제합니다.
- 볼륨 이름을 "2nd System Drive"로 변경합니다.
- 저장된 사진 가져오기
저는 사용할 SQL Server 2005도 없고 귀하의 데이터베이스 사본도 없기 때문에 더 자세히 설명할 수 없습니다. 시작하기 전에 데이터베이스의 전체 백업을 수행하는 것이 좋습니다.
답변2
드라이브의 별칭을 지정하는 대신 powershell 명령을 사용하여 모든 파일의 별칭을 지정하거나 이름을 바꾸거나 이동할 수 있습니다. 앨리어싱을 통해 이동하거나 이름을 바꾸는 것이 좋습니다.
파일 이름을 바꾸려면 cmdlet은 Rename-Item 또는 ren입니다.
Rename-Item *.html *.txt 'This renames all files ending with .html to end with .txt
파일 이동의 경우 cmdlet은 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
카탈로그 폴더로 이동하여 최상위 폴더(드라이브 ID일 수 있음)를 선택한 다음 마우스 오른쪽 버튼을 클릭하고 '카탈로그 폴더 재배치'를 선택합니다. 새 위치(귀하의 경우 이전 위치와 동일)를 입력하고 확인을 클릭합니다.
IIRC 이 작업은 몇 초 정도 밖에 걸리지 않습니다...`