Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 仅将新的或更新的记录导入sql数据库,使用bcp导入和导出_Sql Server_Sql Server 2005_Import_Sql Server Express_Bcp - Fatal编程技术网

Sql server 仅将新的或更新的记录导入sql数据库,使用bcp导入和导出

Sql server 仅将新的或更新的记录导入sql数据库,使用bcp导入和导出,sql-server,sql-server-2005,import,sql-server-express,bcp,Sql Server,Sql Server 2005,Import,Sql Server Express,Bcp,我有一个csv文件。现在,我必须将此文件中的所有数据导入我的sql数据库mdf文件 项目ID 178 212 3423 我只需要从bcp进行导入。但是,经过一段时间后,该文件将更新为一些新记录,我希望这次只获取新记录并插入sql数据库。如何做到这一点?我是否必须匹配现有的ItemID,或者在ItemID列上使用主键,以及何时它将自动拒绝重复记录,或者我是否应添加一个新列作为DateTimeOfInert,然后相应地执行,请sugget?: 项目ID 178 212 3423 4676 782 2

我有一个csv文件。现在,我必须将此文件中的所有数据导入我的sql数据库mdf文件

项目ID 178

212

3423

我只需要从bcp进行导入。但是,经过一段时间后,该文件将更新为一些新记录,我希望这次只获取新记录并插入sql数据库。如何做到这一点?我是否必须匹配现有的ItemID,或者在ItemID列上使用主键,以及何时它将自动拒绝重复记录,或者我是否应添加一个新列作为DateTimeOfInert,然后相应地执行,请sugget?:

项目ID 178

212

3423

4676

782

2308


另外,我正在使用Sql Server Express,那么是否有任何选项可以通过调度作业等来自动化此过程?

您只需跟踪每次处理的行号即可。因此,每次进程拾取文件以将新行加载到db中时,您都从上次访问的文件的下一行开始。保存所有匹配项

或者,每次处理文件时,您可以采用以下方法:

  • 重命名文件(使其不再写入,写入文件的过程将创建一个新文件)
  • 将文件导入数据库
  • 删除/归档该文件

  • @如果没有,我应该在csv文件中添加一个新列“LineNumber”。在那之后,我将如何跟踪,请帮助我的代码,先生。我必须使用ROWNUMBER等吗。?还是更新了