3
csv文件包含8列(col1,col2,...,col8),并且文件的名称也包含必须插入表中的日期。带有额外列的sql批量插入
如果表和列在CSV文件中的列数相等,则下面的查询进口的所有记录从文件表:
query += "BULK INSERT real_data FROM '" + path + "' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')";
到目前为止,我还没有找到一个解决方案修改查询,以便新记录可以包含从文件名中提取的日期。无论如何,我已经创建了一个函数抽取日期:
DateTime eventTime = extractDate(path);
,并想插入EVENTTIME到第9列从文件导入的每个记录。
有谁知道如何修改/创建查询语句从文件中导入8列,并将日期添加为每个导入记录的第9列?
谢谢!
我也用过这个。注意:如果你已经建立了一个实用程序,它将按顺序加载多个文件,即使使用'(nolock)'从MyTable中选择count(*)“,也不能”监视“表加载。你必须在'ALTER TABLE'部分建立一个可靠的重试方法,因为它需要独占访问表。 – 2016-06-16 14:38:01
注意:如果您可以使用bcp格式文件,则不需要使用临时视图。 – 2016-06-16 14:39:10