Главная страница
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.033 c
3-1107984829
Нонейм
2005-02-10 00:33
2005.03.13
Разрядность numeric


9-1103047588
FUNKy
2004-12-14 21:06
2005.03.13
Вопрос про определение дистанции до поверхности Glscene/OpenGL


3-1108018605
Mars
2005-02-10 09:56
2005.03.13
Как сделать выборку из базы с помощью SQL,


3-1108111229
integery
2005-02-11 11:40
2005.03.13
простой запрос


14-1108573257
Sour
2005-02-16 20:00
2005.03.13
Motorola mpx200