SQL Server 2008找不到存储过程

时间:2022-10-16 00:53:54
现在有两个用户,一个sa,一个是自已建的用户 her;
另外有数据库EBS_TS
其中,数据库的EBS_TS的架构是自已建的一个sdb;
当使用存储过程的时候,必须要
USE [EBS_TS]
exec [sdb].[我的存储过程],否则便提示找不到存储过程,
这个非常奇怪,因为以前是可以直接exec [我的存储过程]这样的,
无论用哪个ID登进去都一样,sa和sdb,搞不懂这个是怎么回事。

PS:因为框加那边是印度开发的,没有源码,二次开发使用存储过程,
现在一打开就是找不到存储过程,而框架的源码肯定是没有使用:
[dbo].存储过程   或sdb.存储过程 这样形式的,只是单纯的调用存储过程
所以必须解决这个问题,望大牛们给点思路。

10 个解决方案

#1


没有人过来回答么?急呀

#2


还是没有人来么?

#3


首先你要确认是哪个存储过程?它是否真的不存在?
如果已经成为确认存储过程已经在,那么就找用户的访问权限,就是访问数据的用户是否在访问存储过程的权限?

#4


引用 3 楼 hdhai9451 的回复:
首先你要确认是哪个存储过程?它是否真的不存在?
如果已经成为确认存储过程已经在,那么就找用户的访问权限,就是访问数据的用户是否在访问存储过程的权限?

存储过程当然存在,这么低级的错误当然不会犯,连SA都没有权限,当然没有可能,主贴里我已经说了,你回答得完全不对。

#5


修改存储过程所属架构.

 alter schema dbo transfer sdb.[存储过程名]

#6


引用 5 楼 ap0405140 的回复:
修改存储过程所属架构.

 alter schema dbo transfer sdb.[存储过程名]

这个之前我也试过了,还是一样的,感谢你的回答。

#7


修改存储过程所属架构后,应该就可以直接exec [存储过程名]了.

#8


修改后是可以,我的主贴说了是用框加,这样的话框架却用不了。

#9


I don't understand..
SQL Server 2008找不到存储过程

#10


遇到类似问题,重启SSMS解决了。。。

#1


没有人过来回答么?急呀

#2


还是没有人来么?

#3


首先你要确认是哪个存储过程?它是否真的不存在?
如果已经成为确认存储过程已经在,那么就找用户的访问权限,就是访问数据的用户是否在访问存储过程的权限?

#4


引用 3 楼 hdhai9451 的回复:
首先你要确认是哪个存储过程?它是否真的不存在?
如果已经成为确认存储过程已经在,那么就找用户的访问权限,就是访问数据的用户是否在访问存储过程的权限?

存储过程当然存在,这么低级的错误当然不会犯,连SA都没有权限,当然没有可能,主贴里我已经说了,你回答得完全不对。

#5


修改存储过程所属架构.

 alter schema dbo transfer sdb.[存储过程名]

#6


引用 5 楼 ap0405140 的回复:
修改存储过程所属架构.

 alter schema dbo transfer sdb.[存储过程名]

这个之前我也试过了,还是一样的,感谢你的回答。

#7


修改存储过程所属架构后,应该就可以直接exec [存储过程名]了.

#8


修改后是可以,我的主贴说了是用框加,这样的话框架却用不了。

#9


I don't understand..
SQL Server 2008找不到存储过程

#10


遇到类似问题,重启SSMS解决了。。。