Главная страница
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.034 c
8-1101375728
Дмитрий Ботвин
2004-11-25 12:42
2005.03.13
Объемный текст


3-1108142602
Вовик
2005-02-11 20:23
2005.03.13
Из Excel в DBGrid


14-1108634914
Vaitek
2005-02-17 13:08
2005.03.13
Оптимизация вычислений


4-1106412342
novice__man
2005-01-22 19:45
2005.03.13
Как активировать уже запущенную копию приложения?


6-1105213067
Alexander Makhanev
2005-01-08 22:37
2005.03.13
Как узнать, находится ли комп в домене?