
[英]Multiple updates to the same object simultaneously from different clients using MongoDB
[英]Inserting different data simultaneously from different clients
我用C#创建了一个Windows窗体应用程序,并创建了一个MS SQL server 2008 Express
数据库,并使用LINQ-to-SQL
查询来插入和编辑数据。
该数据库位于Windows Server 2008 R2 (standard edition)
服务器上。 现在,我的应用程序在五台不同的计算机上运行,并且用户通过活动目录进行了身份验证。
向我报告的一个投诉是,有时输入和提交不同的数据时,相同的数据不会出现在包含该应用程序的列表中。 我使用try catch块来发送错误,但是错误不会出现在应用程序中。 但数据只是消失了。
表记录的ID是一个整数自动递增。 因为我必须告诉他们输入的注册号,所以我使用以下代码:
try{
ConectionDataContext db = new ConectionDataContext();
Table_Registers tr = new Table_Registers();
tr.Name=textbox1.text;
tr.sector=textbox2.text;
db.Table_Registers.InsertOnSubmit(tr);
db.SubmitChanges();
int numberRegister=tr.NumberRegister;
MessageBox.Show(tr.ToString());
}
catch{Exception e}
我想知道我是在做错什么,还是您知道网络上有任何文章介绍如何从MSSQL Server数据库中的不同客户端插入数据,请告诉我。
谢谢。
这就是一个数据库服务器的作用 :“同时从不同的客户端插入数据”。
您可以做的一件事是考虑“交易”:
您可以做(并且应该做!)的另一件事是通过使用“存储过程”来确保在服务器上完成尽可能多的工作:
您还应该检查SQL Server错误日志,尤其是潜在的死锁。 您可以在SSMS GUI或SQL Server安装目录下的“ logs”目录中看到这些内容。
但是,您要做的第一件事是确定正在发生的事情。 由于您只有MSSQL Express(这不是用于生产的好选择!),所以最简单的方法可能是创建“日志”表:每次在“日志”中插入一行时,都会在“日志”中插入一个条目真实表,看看是否有东西“丢失”(即,日志表中的整体比数据表中的更多)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.