Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
3-1107277551
UVV
2005-02-01 20:05
2005.03.13
DataSource.DataSet.IsEmpty


1-1109616668
Bloody-Wolf
2005-02-28 21:51
2005.03.13
Функция не работает, что в ней не так?


14-1108479143
GRAND25
2005-02-15 17:52
2005.03.13
Новый футбольный сезон


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


1-1109413341
Xerx
2005-02-26 13:22
2005.03.13
Динамическое выделение кусков текста в Rich е




   Наверх