классическая проблема с правами доступа к записи в asp - PullRequest
0 голосов
/ 22 июня 2011

Я пытаюсь вернуть значения определенного столбца, используя приведенную ниже строку sql. Если я изменю его на sql = "select * from a_page" и objRS("P_description"), он возвращает значения, но по какой-то причине моя страница не будет загружаться при использовании приведенного нижекод.

ОБНОВЛЕНИЕ: Я отключил при возобновлении ошибки далее, и ошибка, которую я получаю, , разрешение на выбор отклонено .Как бы я дал себе разрешения с кодом ниже?

SQL = "select P_Name as P_Name, P_Description as P_Description from L_PagePermission inner join A_Permission on p_permissionID = pp_PermissionID inner join A_Page on P_PageID = PP_PageID where P_PageID = 84 order by p_Name"

Page_ID = 84

connectionstring = obj_ADO.getconnectionstring

Set objCon = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
objCon.Open connectionstring

SQL = "select P_Name as P_Name, P_Description as P_Description from L_PagePermission inner join A_Permission on p_permissionID = pp_PermissionID inner join A_Page on P_PageID = PP_PageID where P_PageID = 84 order by p_Name"

objRS.open SQL, objCon

objRS.MoveFirst
while not objRS.EOF
    response.Write objRS("P_Name")
    objRS.MoveNext
wend

objRS.close
objCon.close

1 Ответ

1 голос
/ 23 июня 2011

Ошибка, которую вы получаете, а также указанный вами код, который работает, означает одно: либо L_PagePermission таблица, либо A_Permission (или оба) пользователь, переданный в строке подключения, не имеет прав на чтение.

Чтобы решить эту проблему, вы должны либо передать «более сильного» пользователя в строку подключения, либо предоставить пользователю разрешения на чтение для этих таблиц через что-то вроде SQL Management Studio.

Кстати, вы не можете «предоставлять себе разрешения» через код из-за очевидных причин безопасности - существуют разрешения, позволяющие в первую очередь выполнять определенные действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...