Форум сайта python.su
Доброго времени суток, уважаемые форумчане.
Есть необходимость выбрать схему БД при коннекте (или же при выборе данных) к БД Oracle. Но вот где в параметрах подключения указать ее, я не нашел. Буду рад за любую помощь в этом вопросе.
В мануале написано использовать следующие параметры:
cx_Oracle.connect([user, password, dsn, mode, handle, pool, threaded, twophase, events, cclass, purity, newpassword])
Connection.current_schemaТ.е. есть возможность задавать параметры чтение/запись для текущей схемы БД. А вот как ее выбрать?
This read-write attribute sets the current schema attribute for the session.
Note This attribute is an extension to the DB API definition.
Офлайн
По-моему имеется ввиду, что этот атрибут и задает текущую схему и его (атрибут, а не схему) можно читать и писать (т.е. он не read-only).
Офлайн
SotericЗадать (выбрать) схему при помощи Connection.current_schema нет возможности, т.к. это объект ‘str’.
По-моему имеется ввиду, что этот атрибут и задает текущую схему и его (атрибут, а не схему) можно читать и писать (т.е. он не read-only).
Офлайн
Ну и что? :) Вот здесь как-то работает: http://stackoverflow.com/questions/2012035/changing-schema-using-cx-oracle
Офлайн
SotericСпасибо, за ссылку. =) Работает )
Ну и что? :) Вот здесь как-то работает: http://stackoverflow.com/questions/2012035/changing-schema-using-cx-oracle
Офлайн
Схема = Логин. Чем так плохо?
И что делает connection.current_schema('HR')?
Офлайн
n2b
И что делает connection.current_schema('HR')?
>>> import cx_Oracle
>>> c = cx_Oracle.Connection('LOGIN', 'PASSWORD', 'DB')
>>> c.current_schema('MY_SCHEMA')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable
n2bНе понял Вас. Что Вы имели ввиду?
Схема = Логин. Чем так плохо?
>>> c.current_schema = 'MY_SCHEMA'
Офлайн
grok>>> c = cx_Oracle.Connection('LOGIN', ‘PASSWORD’, ‘DB’)n2b
И что делает connection.current_schema('HR')?>>> import cx_Oracle
>>> c = cx_Oracle.Connection('LOGIN', 'PASSWORD', 'DB')
>>> c.current_schema('MY_SCHEMA')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callablen2bНе понял Вас. Что Вы имели ввиду?
Схема = Логин. Чем так плохо?
Если вот это:тогда, если Вы пройдете по вышеупомянутой ссылке от Soteric, там этот код найдете.>>> c.current_schema = 'MY_SCHEMA'
Т.е. по сабжу вопрос решен =)
Офлайн
n2bПростите за мое любопытство, но Вы смотрели на мой последний комментарий (#7)?
>>> c = cx_Oracle.Connection('LOGIN', ‘PASSWORD’, ‘DB’)
>>> c.current_schema('LOGIN')
Офлайн
Мне приходилось пользоваться таким способом - выполнением:
<code>alter session set current_schema=имя</code>
Офлайн