2012-05-07 27 views
2

我在MS SQL Express中有一個表,它將csv文件存儲爲斑點。我想將這些CSV文件導入到一個表格中。 csv中的列與數據庫表中的列匹配。這可能嗎?這是我簡單的例子:將CSV文件從BLOB導入數據庫表

CSV團塊存儲表:

Table CSVStore 
(ReportID, File image, FileName nvarchar (200)) 

我的CSV文件列

(FirstName, LastName, DOB) 

我的SQL表

Table Employees 

(EmployeeID INT IDENTITY (1,1), 
FirstName nvarchar (100), 
LastName nvarchar (100), 
DOB datetime, 
Primary Key (EmployeeID)) 

如何獲得的CSV當ReportID = 1時,CSVStore中的數據放入我的表Employees中?

+0

您可以通過外部程序以編程方式執行此操作,該程序從blob中檢索文件並檢查它們。你確切的要求是什麼? – Argeman

+0

我只是想知道是否有一個簡單的SQL查詢/腳本可以將Blob文件導入到表中。我無法在任何地方看到一個例子。 – Gillers

+0

反正有沒有在CSV文件中提到數據庫表名?有列,但你怎麼知道你想插入哪個表? – Turbot

回答

-1

可以使用OpenRowSet命令與合作。

INSERT INTO db.CSV 
(
    FileName, 
    FileContent 
) 
SELECT 'file1.csv', BlobFile.* 
FROM OPENROWSET 
(BULK 'C:\CSV\file1.csv', single_blob) BlobFile 

有一個arctile Working with Large Value Types,你可能會覺得它很有用。

+0

謝謝 - 我對此有點傻,所以我多一點幫助,將不勝感激。我有一個名爲Reportstore的CSV文件的表格,其中列FileName nvarchar(100)和CSV文件圖像。 CSV文件具有實例2列Firstname和Lastname。我想要將這個表導入EmployeeDetails中的表有2列Firstname和Lastname。 SQL腳本如何用於此外觀? – Gillers

+0

你可以把CSV文件的例子放在問題中嗎?好像您需要在SQL中編寫自定義批量插入操作。 – Turbot