数据库服务器不可用时脱机缓冲数据

时间:2016-11-10 22:48:35

标签: c# multithreading oracle offline-caching

我是C#的新手,我实现了一个从套接字读取数据的应用程序,并使用远程服务器上的oracle DB中的单独线程存储它。 我的问题是:当数据库服务器关闭而我无法将数据保存在数据库中时,是否有C#或.net中的工具或技术允许我在本地缓冲数据然后在连接时将其发送到服务器再次可用。我不想丢失来自套接字的信息,同时我想保留我的oracle数据库中的数据一致性,因为我有一个序列和一些触发器,在插入每条记录后保存附加信息。

1 个答案:

答案 0 :(得分:5)

您正在尝试引入容错

的方法:

  1. 消息队列服务器(最好),如MSMQ,RabbitMQ或类似的
  2. 本地数据库,例如SQLite或SQL Server Express。
  3. JSON,XML或CSV格式的本地文件。
  4. 使用这些方法中的任何一种,它们都会存储记录,直到您的数据库服务器再次可用。消息队列是最具扩展性的方法。