Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Выбор схемы в ORACLE


Автор: LOBsTerr 11.5.2007, 11:49
Здравствуйте господа, такой вопрос у меня имеет БД - ORACLE , и в ней находиться несколько схем Мне нужна определенные view из схемы ну например my_schema. 
Вот например я законнектился:
Код

$conn = ocilogon( "web", "web", "DB");

if ( $conn === FALSE )
{
   die(  "Unable connect to oracle" );
}


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

SELECT * from my_schema.my_view_name 


помогите кто знает, заранее спасибо!!

Автор: batigoal 14.5.2007, 08:34
Цитата(LOBsTerr @  11.5.2007,  12:49 Найти цитируемый пост)
А как дальше выбрать нужную схему, с которой я собираюсь работать...

Так а почему ты не можешь вместо юзера "WEB" сразу подключаться к нужной тебе схеме?

Автор: TicTak 14.5.2007, 09:07
А так не пробовал: $conn = ocilogon( "web", "web", "my_schema")?
1-й web - имя пользователя, 2-й - пароль к базе. А вот 3-й параметр и есть имя схемы.
Или так $conn=ora_logon("web@my_schema","web")
http://www.orafaq.com/faqphp.htm

Автор: Sqlninja 14.5.2007, 09:44
Код

ALTER SESSION SET CURRENT_SCHEMA = YOUR_SCHEMA;

Автор: LOBsTerr 14.5.2007, 12:38
Спасибо всем:

2 batigoal - К сожалению, не я рулю в Базе и не я там все организую поэтому и спрашиваю про варианты, как этого можно избежать... Или обойти, ну и в будущем я думаю пригодиться

2 TicTak - ocilogon ( string username, string password [, string db]), третий параметр не Схема!!!
А БАЗА (или инстанция). ЗА мануал спасибо, но я его уже читал ;) Наверно как, то все таки можно строку прописать, что бы он коннектился не к своей схеме по умолчанию, а к другой, но я так и не смог найти эту строку, access denied и все тут (((

$conn=ora_logon("web@my_schema","web") - не подойдет я использую библиотеку OCI.

2 Sqlninja - действительно помогло не знал, что так можно сменить сессии, и это как вариант использовать можно!!! Круто ;)

Всем спасибо за помощь... Хотя если, есть доступ гранты спасут, но просто хотелось знать возможно ли это или нет !!!





Автор: TicTak 14.5.2007, 15:04
Нашёл ещё кое-что.
Цитата

oci_parse

(PHP 5)
oci_parse -- Подготавливает запрос к выполнению
Описание
resource oci_parse ( resource connection, string query )

oci_parse() подготавливает query к выполнению, используя соединение connection и возвращает идентификатор выражения. Параметр query может быть выражением SQL или набором команд PL/SQL. 

Замечание: Эта функция не проверяет синтаксис запроса query. Единственный способ проверить правильность запроса - это выполнить его. 

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociparse(). В PHP 5.0.0 и выше ociparse() является алиасом oci_parse(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется. 

oci_parse() возвращает FALSE в случае ошибки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)