База знаний
Ошибка отсутствия функции IsActionEnabled
Опубликовано Сергей Пеньковский вкл. 18 June 2014 05:25 PM

Ошибка:

Загрузка остановлена из-за ошибки: Cannot find either column "dbo" or the user-defined function or aggregate "dbo.IsActionEnabled", or the name is ambiguous.

Причина:

Ошибка проявляется из-за отсутствия функции IsActionEnabled

Решение:

Выполнить на рабочей базе Мастер-Тура от sa следующий скрипт:

 

IF OBJECT_ID( 'dbo.IsActionEnabled' ) IS NOT NULL

  DROP FUNCTION dbo.IsActionEnabled

go

CREATE FUNCTION dbo.IsActionEnabled      (

      @p_nActionID      INTEGER     )

RETURNS SMALLINT

AS

BEGIN

 

      DECLARE     @nUSKey     INTEGER

 

      Set @nUSKey = null

 

      If USER = 'dbo'

            RETURN 1

      Else

            SELECT      TOP 1 @nUSKey =  US_Key

            FROM  UserList

            WHERE       US_UserID = USER

 

      If @nUSKey IS NULL

            RETURN 0

 

      If EXISTS

            (

            SELECT      1

                  FROM  ActionsAuth

                  WHERE ACA_ACKey = @p_nActionID AND ACA_USKey = @nUSKey

            UNION

                  SELECT      1

                  FROM GroupAuth, UserList, sysmembers m, sysusers u, sysusers g

                  WHERE       m.memberuid = u.uid AND GRA_GRKey = m.groupuid AND g.uid = m.groupuid AND u.name = US_UserID

                        AND US_Key = @nUSKey AND GRA_ACKey = @p_nActionID

            )

            RETURN 1

 

      RETURN 0

END

go

GRANT EXECUTE ON dbo.IsActionEnabled TO PUBLIC

go

 

(5 голос(а))
Мне это помогло
Мне это не помогло

Пояснения (0)
Добавить новый комментарий
 
 
Полное имя:
E-mail:
Комментарии:
ООО ЗЕЛСОФТ 2007-2020