我目前正在使用Visual Studio 2008上的C#WinForms进行编码,我们可能正在实现SQL数据库连接。但是,它必须对工业工作非常强大,这意味着在写作过程中可能会停电。
我正在考虑在应用和SQL之间创建一个文件。程序首先将文件集上的SAFE标志翻转为FALSE,然后写入。一旦将其安全地写入该文件,它就会将SAFE标志翻转为TRUE,然后将其写入SQL数据库。对于容易停电的环境,这样的事情是可能的/最好的行动方案吗?
答案 0 :(得分:5)
您可能希望实施交易。
如果断电,您可以将交易设置为在系统重新联机时尝试重新写入信息。
答案 1 :(得分:0)
我认为在事务内部(开始...提交)的sql写入比作为单个开发人员可以实现的任何内容更强大。 如果你从服务器得到一个肯定的ack数据已被写入,那么你可以肯定它已经。 如果没有,那么你知道你必须重试。
答案 2 :(得分:0)
当您写入数据库时,您可以使用各种技术(包括消息队列)来确保将消息传递到其目标,事务处理以确保整个保存已完成或中止。如果使用SQL Server,它还将管理尚未保存到事务日志中的数据库的事务,从而解决中断后的恢复问题。因此,您需要了解几种技术: