又出现灵异事件!

Mars.CN 2009-06-11 11:07:27
我写了一个存储过程,插入数据库的,插入后返回新插入的ID,单独执行这个存储过程没问题,能插入。
但是我用java调用执行以后就出现问题了,程序显示插入正常,没有抛出任何错误,而且也拿到了新插入的ID,但是数据库中就是不显示这条新插入的数据
这时候再去单独执行存储过程还是正常,能返回正确ID,但是也不在库中显示新插入的记录,只要是java执行过以后数据库就变得不正常了,除非重新drop表再创建,才能恢复正常,要不然就是不显示新插入的数据(但是identity的ID照样自增)

谁遇到过这种灵异事件???
...全文
104 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutianapple 2010-07-09
  • 打赏
  • 举报
回复
SB 相信程序!程序代码是科学的砖瓦
zhangseyan 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 nalnait 的回复:]
可能是回滚之类的吧
[/Quote]
有道理..引用错了。。汗
zhangseyan 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zijiezhuang 的回复:]
关注
[/Quote]
有道理
kele1006 2009-06-11
  • 打赏
  • 举报
回复
是否是程序中使用了事务,在执行存储过程中不报错,但是程序报错,导致回滚了?
nalnait 2009-06-11
  • 打赏
  • 举报
回复
可能是回滚之类的吧
zijiezhuang 2009-06-11
  • 打赏
  • 举报
回复
关注
zhangseyan 2009-06-11
  • 打赏
  • 举报
回复
跟程序有关?程序只是调用执行这个存储过程,存储过程要是没问题就不应该出现这种问题
插入数据库的,插入后返回新插入的ID——这些跟程序都是没有关系的,只是在存储过程中执行
Mars.CN 2009-06-11
  • 打赏
  • 举报
回复
我感觉也是程序问题
但是同样的两段程序,另外一个是执行一个类似的存储过程,两个存储过程内都是
set oncount on
insert....
select @@identity

两段程序内容除了参数和存储过程名不同,其余都一模一样
那段程序执行就没有问题
这段就有问题了
弄了两天了,还是不知道哪的错!
寻找Python之禅 2009-06-11
  • 打赏
  • 举报
回复
关注
htl258_Tony 2009-06-11
  • 打赏
  • 举报
回复
听楼主这么一说,感觉还真有点怪异。
关注。
chowyi 2009-06-11
  • 打赏
  • 举报
回复
跟数据库无关,与程序有关
--小F-- 2009-06-11
  • 打赏
  • 举报
回复
关注中
JonasFeng 2009-06-11
  • 打赏
  • 举报
回复

楼主的程序这块有问题。
楼主根据sp_lock
看看是不是有什么操作,正在操作表。
在执行过程中,会导致表锁住,如果不释放的话,你怎么执行,估计都不响应的。

通过事件查看器,看那些SQL语句正在干坏事。

计算机是不会骗人的。


Mars.CN 2009-06-11
  • 打赏
  • 举报
回复
我的表中没有任何触发器,只有一个index,其他没有任何附加的东西
另外补充,我用的连接池是Proxool
pl_mm 2009-06-11
  • 打赏
  • 举报
回复
触发器啥的都look一下,肯定是发生错误回灌了
ywx123789 2009-06-11
  • 打赏
  • 举报
回复
關注
devilidea 2009-06-11
  • 打赏
  • 举报
回复
搞的吓死人的
Tomzzu 2009-06-11
  • 打赏
  • 举报
回复
有两种可能

1. Java程序开启的事务(begin tran), 没有提交(commit tran), 或对此事务回滚了(rollback tran), 或一直开着, 只有begin tran 没有对应 commit 或 rollback . 等着断开连接数据库帮你回滚

2. 权限问题, 确定一下你在数据库中运行是什么用户, 在Java程序中运行又是什么用户

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧