Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

SET ROLE в Делфи (DOA, Oracle)   Найти похожие ветки 

 
sashag   (2005-02-10 11:40) [0]

Как сказать SET ROLE ... из приложения Делфи (БД Oracle 9i, компоненты доступа к базе - DOA)?
 Пишу следующее:
 var TempQuery: TOracleQuery;  
 ..........
 TempQuery.Create(...);
 with TempQuery do try
   Session:= ......;
   SQL.Text:= "SET ROLE bsa";
   Execute;
 finally
   Free;
 end;


 Получаю ошибку:
ORA-00900: invalid SQL statement

В хелпе сказано:
TOracleQuery can execute any SQL statement:

- Data Manipulation Language (select, update, insert, etc.)
- Data Definition Language (create table, create procedure, grant role, etc.)
- Transaction Control (commit, rollback, savepoint, etc.)
- Session Control (alter session, set role)
- System Control (alter system)

Может, я чего-то недопонимаю?


 
Reindeer Moss Eater ©   (2005-02-10 11:46) [1]

http://www.mid.main.vsu.ru/docs/oracle10/server.101/b10759/statements_10004.htm


 
Sergey13 ©   (2005-02-10 11:47) [2]

А зачем так делать? Юзер заходит со своим логином и ему доступно все согласно имеющимся у него ролям.


 
sashag   (2005-02-10 11:59) [3]

Выполнив команду SET ROLE bsa; в SQL Navigator, я получаю дополнительные привилегии, и ошибка не возникает. Вызов этой же команды из Делфи приводит к ошибке.


 
Reindeer Moss Eater ©   (2005-02-10 12:01) [4]

SET ROLE bsa; <> "SET ROLE bsa";


 
Sashag   (2005-02-10 12:05) [5]

Независимо от наличия в конце знака ; (точка с запятой) получаю
ORA-00900: invalid SQL statement


 
Reindeer Moss Eater ©   (2005-02-10 12:10) [6]

Ну тогда

dbms_session.set_role(role_cmd => "");


 
roottim ©   (2005-02-10 12:26) [7]

ODAC это схамал.. и нечего..
хотя plsql-developer тоже, а он именно DOA и ест.
может регистр ?


 
Sashag   (2005-02-10 12:41) [8]

>> Reindeer Moss Eater
Большое спасибо. Все получилось.


 
Sashag   (2005-02-10 12:43) [9]

>> roottim
регистр изменял, ему все равно. Не понмает и все.


 
Reindeer Moss Eater ©   (2005-02-10 12:46) [10]

Вполне возможно, что стейтмент надо просто оформить в виде pl/sql блока:
begin
set role .....
end


 
Sashag   (2005-02-10 13:07) [11]

>> Reindeer Moss Eater
Пробовал, естественно, и так... Не помогло



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
4-1107172813
BaDeVlad
2005-01-31 15:00
2005.03.13
Как вывести Unicode-строку?


4-1107290316
kluben
2005-02-01 23:38
2005.03.13
Защищенный режим процессора


14-1109060470
Чеширский_Кот
2005-02-22 11:21
2005.03.13
Разбирающимся в ноутбуках


1-1109565114
AAAAA
2005-02-28 07:31
2005.03.13
Как можно отобразить дерево?


1-1109599867
}|{yk
2005-02-28 17:11
2005.03.13
Как узнать, открыт ли Excel?