在SQL Server和CSV文件之间同步

时间:2009-10-19 11:45:51

标签: c# sql sql-server csv synchronize

在Microsoft Excel中同步表(客户),SQL Server和CSV文件中的客户的更好方法是什么?

好的,这是解释: 我正在使用C#.NET 2008开发一个软件,并在SQL Server 2005中创建一个名为Customers的表。该表的内容来自CSV文件,用户可以添加更多信息,因为SQL表的字段多于CSV文件

第一次很容易..我只是为CSV文件中的每一行添加ADDNEW。 但是,由于这些额外的字段,我第二次无法从头开始再次删除所有表,所以我需要一个方法可以自动验证我的SQL表和CSV文件中的每个记录?或者我需要逐个处理记录?

2 个答案:

答案 0 :(得分:0)

看看SQL Server Integration Services,它可以完成您想要做的所有事情以及更多。

或者,如果您确实想对其进行编码,那么我建议对CSV中的所有字段进行哈希并使用它来比较每一行。不同的hash = change =更新的行。

答案 1 :(得分:0)

您可以将CSV表和额外信息分成一个表和一个视图。你会有一个表只是CSV文件本身的一个愚蠢的镜像,并且很容易更新:

    TRUNCATE TABLE csvmirror;
    BULK INSERT csvmirror
    FROM 'P:\ath\to\csvfile.csv' WITH
    ( FIELDTERMINATOR = ','
    , ROWTERMINATOR = '\n' );

然后在'csvmirror'表上创建一个视图,该视图使用数据库中的额外数据补充直接csv文件数据。