2012-04-26 225 views
0

我對SQL Server頗爲新穎。 我有一個txt文件,像這樣分隔值:將數據從txt文件導入到SQL-Server表的功能

20120101;001;2;0;0;0;0;0;8 
20120102;002;3;0;0;0;0;0;8 
20120103;003;4;0;0;0;0;0;8 
... 

此文件是在一臺服務器,我需要這個文件在每天的同一時間autommaticaly導入和更新的變化(該文件是改變每天)。我在想做一個功能來做,但我不知道它是否可能。

任何幫助,將不勝感激。提前致謝。

回答

3
insert into your_table 
    SELECT a.* 
    FROM OPENROWSET(BULK 'c:\input.csv', FORMATFILE = 'c:\Format.fmt') AS a; 

Exaample Format.fmt

9.0 
6 
1  SQLCHAR  0  15 ";"  1  col1  SQL_Latin1_General_CP1_CI_AS 
2  SQLCHAR  0  25 ";"  2  col2  SQL_Latin1_General_CP1_CI_AS 
3  SQLCHAR  0  6 ";"  3  col3  SQL_Latin1_General_CP1_CI_AS 
4  SQLCHAR  0  5 ";"  4  col4  SQL_Latin1_General_CP1_CI_AS 
5  SQLCHAR  0  15 ";"  5  col5  SQL_Latin1_General_CP1_CI_AS 
6  SQLCHAR  0  100 "\r\n" 6  col6  SQL_Latin1_General_CP1_CI_AS 
+0

是否可以從txt文件做到這一點?沒有把它轉換成csv? – andoni90 2012-04-26 09:13:31

+0

@ koneX:好的。這只是一個例子。 – 2012-04-26 09:16:27

2

你可以使用SQL Server集成服務(SSIS)導入計劃的基礎上平面文件。

下面是一個例子,它循環顯示給定文件夾中所有具有相同格式的CSV文件,並將它們加載到數據庫中。

How do I move files to an archive folder after the files have been processed?

下面是另一個例子:

Validate CSV file Data before import into SQL Server table in SSIS?

以下的答案顯示瞭如何安排SSIS包從SQL Server代理作業中運行。

How do I create a step in my SQL Server Agent Job which will run my SSIS package?

希望給你的想法。

相關問題