한 데이터베이스에서 다른 데이터베이스로 많은 양의 파일을 가져 오려고합니다. 원본 데이터베이스는 파일 이름을 데이터베이스 테이블에 저장하고 실제 파일은 디스크의 어딘가에 저장합니다.SQL Server 2008 데이터베이스로 파일 가져 오기
새 데이터베이스는 파일을 저장하기 위해 filestream을 사용합니다.
이전에 OPENROWSET을 사용하여 새 데이터베이스로 파일을 가져 왔지만이 경우 수동으로 전체 경로를 수동으로 제공했습니다.
이 경우처럼 디스크에있는 디렉토리의 위치와 이전 DB의 파일 이름을 결합하여 경로를 동적으로 만들 수 있다고 생각한 파일이 여러 개 있습니다.
그러나 OPENROWSET에서는 문자열을 연결할 수 없습니다. 동적 SQL (http://stackoverflow.com/questions/6621579/t-sql-issue-with-string-concat)을 사용하는 방법을 찾아 냈습니다.
그러나 이전 데이터베이스 테이블의 정보를 OPENROWSET과 결합하여 새 데이터베이스에 파일을 삽입하는 방법을 모르겠습니다. 이런 식으로
create table #Files
(
IssueId int not null,
FileName nvarchar(12) not null,
FullPath nvarchar(255) not null
)
insert into #Files
select IssueId, FileName, @FilePath + '\' + FileName
from OLDDBO.dbo.Files
, 나는 ID, 파일 이름과 전체 경로가 있습니다
내 현재의 생각이 같은 것입니다. 그러나이 세 가지 항목을 이진 데이터와 함께 새로운 DB에 삽입하려면 어떻게해야합니까? 누군가 도울 수 있기를 바랍니다.
아직 몇 가지 따옴표가 빠져 있지만 이것이 실제로 해결책이었습니다. 감사! – Pieter