我試圖將大量文件從一個數據庫導入到另一個數據庫中。原始數據庫將文件名存儲在數據庫表中,並將實際文件存儲在磁盤上的某處。將文件導入到SQL Server 2008數據庫
新數據庫使用文件流來存儲文件。
我已經使用OPENROWSET將文件導入到新的數據庫中,但在這些情況下,我提供了完全正常工作的完整路徑。
由於在這種情況下,我想我可以動態地生成將磁盤上的目錄位置與舊數據庫的文件名相結合的路徑。
但是,事實證明,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,文件名和完整路徑。但是,如何將這三個項目與二進制數據一起插入到新的數據庫中?我希望有人可以幫助
還有一些引號丟失,但這確實是解決方案。謝謝! – Pieter