从oracleDB读取文件并添加/删除/修改数据

时间:2013-04-02 13:19:09

标签: c# oracle file

我不太熟悉如何在C#中执行此操作。需要连接到Oracle db,从目录中获取文件然后读取文件的每一行。线条是这样的:

然后将拆分为字符串并根据此标志| A |,| D |或| M |我将在里面添加/删除/修改信息。 我不想写完整个代码。只是一些想法和指导如何做到这一点。 感谢

2 个答案:

答案 0 :(得分:2)

首先read file

var lines  = File.ReadLines(@"filename");
foreach (string line in lines)
{
    // Then split each line
    var str = line.Split('|');  // str contains list of splitted string

    // then save it to db
   using ( var c = new OracleConnection("connectionString") )
   {
      c.Open();
     // check flag
     if ( str [2] == 'A' ) 
     {
      // prepare your sql with splitted array
      var command = c.CreateCommand();
      command.Text = "INSERT INTO table(column) values(:col1)";
      command.Parameters.AddWithValue("col1", str[0])
      command.ExecuteNonQuery();
    }

   }

}

答案 1 :(得分:0)

MERGE可以帮助你...

MERGE INTO target_table T
USING source_table S
ON (D.id = S.id)
WHEN MATCHED THEN UPDATE SET 
     T.field1 = S.field1,
     T.field2 = S.field2
  DELETE WHERE (S.flag='D')
WHEN NOT MATCHED THEN INSERT (id, field1, filed2)
  VALUES (S.id, S.filed1, S.filed2)
  WHERE S.flag='A';

但是当记录已存在于目标中时,这不会插入。