我正在使用SQL Server,我需要将.txt
文件中的一些数据加载到我已创建的数据库表中并正确设置其列。
.txt
一直都有这种格式,它真的很大(170MB)。第一行只显示列,因此需要忽略。
这就是.txt
格式的样子。为简单起见,我将名称重命名。
Col1||Col2||Col3||Col4
101||200||hello||world
104||202||hi||world
...
看MSDN documentation,我想需要类似的东西:
BULK INSERT db1.table1
FROM 'C:\file1.txt'
WITH
(
FIELDTERMINATOR = '||'
)
这种语法是否正确?如何设法忽略第一行?遗憾的是,我现在没有办法确认语法。
答案 0 :(得分:1)
您可以使用FIRSTROW -parameter跳过该行。
FIRSTROW = first_row
指定要加载的第一行的编号。默认值是指定数据文件中的第一行。
FIRSTROW属性不用于跳过列标题。什么时候 在跳过行时,SQL Server数据库引擎仅查看该字段 终结符,并且对跳过的字段中的数据无效 行。
另外,如果文件不在SQL Server可以轻松访问的位置,您也可以使用bcp加载它:https://msdn.microsoft.com/en-us/library/ms162802.aspx