нам периодически нужно импортировать CSV, который выглядит следующим образом:
Name,SpecID,TestResult1,TestResult2,TestResult3
Alex,ASD123,3.23,452.2,232
Craig,DFG444,453.56,345.3,23
данные сохраняются следующим образом:
SPECIMENTABLE (name,specid,SPECIMENTABLEID)
Alex,ASD123,1
Craig,DFG444,2
и
RESULTTABLE (testresult,result,SPECIMENTABLEID)
TestResult1,3.23,1
TestResult2,452.2,1
TestResult3,232,1
TestResult1, 453.56,2
etc
я сбрасываю данные следующим образом:
public void DumpQuickLabDump()
{
// T-SQL Connection
string connection = "Data Source=gaia;Initial Catalog=SalesDWH;Integrated Security=True";
// Get the data into the DataTable
//dtData = GetData(...);
// Create an object of SqlBulkCopy
SqlBulkCopy objSBC = new SqlBulkCopy(connection);
// Specify the destination table
objSBC.BulkCopyTimeout = 0;
objSBC.BatchSize = 10000;
objSBC.DestinationTableName = "SpecimenTable";
// Write the data to the SQL Server
objSBC.WriteToServer(QuickLabDump);
}
public void DumpTestResults()
{
// T-SQL Connection
string connection = "Data Source=gaia;Initial Catalog=SalesDWH;Integrated Security=True";
// Get the data into the DataTable
//dtData = GetData(...);
// Create an object of SqlBulkCopy
SqlBulkCopy objSBC = new SqlBulkCopy(connection);
// Specify the destination table
objSBC.BulkCopyTimeout = 0;
objSBC.BatchSize = 10000;
objSBC.DestinationTableName = "ResultTable";
// Write the data to the SQL Server
objSBC.WriteToServer(TestResults);
}
иногда клиент отправляет мне CSV для загрузки, а затем, через несколько дней, он импортирует другой CSV, но он будет иметь процент от тех же записей.
как мне избежать дублирования данных?(имейте в виду, что две таблицы заполняются в базе данных из одного файла CSV)
решение может быть .NET или sql.
большое спасибо