2012-05-31 30 views
3

數據我有一個個人表150MB csv文件存儲在SQL 2012的FileTable - 我如何可以查詢到插入表

UserId, Name,DOB 

表中包含75萬行(人民)一個簡單的數據庫。

我收到可能包含10個百萬行

UserId, Address1, Address2, Address3, TownCity, Region, Country, 
Telephone1, Telephone2, Telephone3 
用戶的

當前和以前的聯繫方式

這個文件中有對usersId所以我可以匹配的聯絡方式到一個CSV文件用戶。

一對多關係的人,聯繫方式之間存在

我的最終目標是一個查詢選擇UserId, Name, DOB, Address1, Address2......

目前我使用.NET打開由線和寫作的CSV文件和讀取線每個記錄到SQL服務器單獨(可能1000萬的SQL插入) - 這是緩慢的,所以我看着其他是這樣做的。

我與SQL 2012的FileTable /流實驗 - 讓我有存儲在的FileTable csv文件,可以這樣

SELECT [file_stream], [name], [path_locator], [parent_path_locator], 
     [file_type], [cached_file_size], [creation_time] 
FROM [MYDB_FileTable].[dbo].[AddressFileTable] 

查詢是否有人知道我可以查詢的FileStream和BULK INSERT或任何使用核心csv數據的其他方式?

我已經看過

DECLARE @csv varchar(max) 
SELECT @csv = convert(varchar(max), [file_stream]) FROM PKIFileTable 

但由於文件的大小,這並不工作

任何建議都歡迎。

回答

1

您可以使用SSIS進行該任務。完成你所需要的應該相當簡單。

什麼是慢?

爲什麼我以前的答案被刪除?這裏發生了什麼?

我的回答是基於最後一句:「任何其他方式與核心csv數據工作?」

+0

不知道爲什麼你以前的答案被刪除。 – Ben

+0

今天我將介紹SSIS以及我能做些什麼 – Ben

0

謝謝Janus007 - 看起來有人指出了明顯的 - 使用SSIS。通常是最簡單的答案。 我使用SSIS做到這一點成功

但我仍想知道如何以最佳方式查詢存儲在一個文件流

0

另一種解決方案一個CSV文件可能是開發C#中的CLR和處理FileStream與此,利用這種方法,你仍然可以使用TSQL的漂亮語言,並輕鬆地在C#中進行調試。

相關問題