首页 新闻 会员 周边

奇葩问题,求解答?

0
[已关闭问题] 关闭于 2014-03-17 15:01

有没有遇到过可执行程序插入数据到sql数据库一个表中,程序已经结束了,但是表中的数据不停的增加,这是什么原因?(注:是从两个服务器中取数据向第三个服务器插入数据)

梦想&现实的主页 梦想&现实 | 菜鸟二级 | 园豆:206
提问于:2014-01-20 09:24
< >
分享
所有回答(7)
1

如果没有触发器之类,那么很正常,程序只是向数据库管理器发送了一个语句,程序结束,SQL语句没执行完成。

邀月 | 园豆:25475 (高人七级) | 2014-01-20 09:37
0

这个数据肯定是你程序添加的数据吧...要不然就诡异了哦

平常心队长 | 园豆:1113 (小虾三级) | 2014-01-20 09:46
0

你不会是一个while循环,1秒钟发了几百个insert。然后网络包就堵在那儿了。

angelshelter | 园豆:9887 (大侠五级) | 2014-01-20 14:07

没有用while循环,用的foreach...for循环嵌套。。。

支持(0) 反对(0) 梦想&现实 | 园豆:206 (菜鸟二级) | 2014-01-20 14:09
0

不知道你用的是什么东西? 

1.断点查一下你循环嵌套使用的要写入SQL语句,那段的代码,如果你确认这部分代码并没有产生循环插入语句

2.像1楼说的 看看SQL数据库是否设置正确。

3.SQLserver 数据库好像还有一个(2005以上叫profile)监视器的东西,你监视一下,看看都是哪些产生的插入语句

二十二号同学 | 园豆:790 (小虾三级) | 2014-01-20 14:42
0

用SQL Server Profiler跟一下看看SQL的执行情况

梵哥 | 园豆:344 (菜鸟二级) | 2014-01-20 22:15
0

跟踪一下,多半是相关存储过程或者触发器引起的,服务器之间传输数据用接口最好,程序没有那么聪明,怎么会无缘无故增加呢?

天堂的鸽子 | 园豆:138 (初学一级) | 2014-01-21 08:57

恩恩,用的是接口,是从两个服务器取数据,往第三个服务器上传

支持(0) 反对(0) 梦想&现实 | 园豆:206 (菜鸟二级) | 2014-01-22 14:01
0

“用的foreach...for循环嵌套” 问题就出在这里。

程序你强制结束, 但他的执行动作仍会执行一会,特别是程序遇到循环的时候。

所以请你跟踪下, for语句是否真的执行一次而已。 

ps: 你可以做个实验, 在页面上写for循环10万次。 运行后, 你把页面关闭, 然后你刷新数据库表, 就能看到数据还是会录入的。

Jerry柯 | 园豆:496 (菜鸟二级) | 2014-01-21 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册