首页 > 其他 > 详细

为过程或函数sp_Adduser指定了过多的参数

时间:2014-10-09 12:45:33      阅读:213      评论:0      收藏:0      [点我收藏+]

前些天写用户注册模块,用存储过程添加用户,一开始就报“为过程或函数sp_Adduser指定了过多的参数”。仔细检查数据层的用户添加函数,结果在为存储过程添加sqlparameter参数的时候,数组给写错位了(参数太多)。改正后,编译执行,结果还是报“为过程或函数sp_Adduser指定了过多的参数”。自己把存储过程程序对照了好几遍,没问题。到网上搜索,原来在执行存储过程的时候,如果以sp开头,用户创建的存储过程,总会先检查master数据库(即使该存储过程已用数据库名称限定)。   如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程

 

   自己平时还真没注意,我命名的sp_Adduser就是系统的存储过程,难怪不能执行,所以以后写存储过程最好别以sp开头,一不注意就会发生冲突。比如,sp_adduser,sp_addmessage,我们也会容易起这样的名,但是和系统存储过程是冲突,你自己定义的是不会被执行的,所以总是会报“为过程或函数指定了过多的参数”的错误。http://blog.csdn.net/sandyxxx/article/details/4129245

 
此外,如果是带参数的存储过程则,可以看下Params里参数是否比proc_checkhistory里的参数个数多

为过程或函数sp_Adduser指定了过多的参数

原文:http://www.cnblogs.com/jiangxing/p/4012387.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!