kullanarak şema değiştirme Ben, bu bir çoğaltma değil, arama yararlı bir şey vermedi umarım.cx_Oracle
Son birkaç gün boyunca cx_Oracle
ile oynuyor, kuruyor ve kullanıyordum. Şu anki sorunuma ulaşana kadar her şey yolunda gitti: Şemamı değiştirmek istiyorum. Eğer sqlplus kullanmış olsaydım basit bir 'alter session set current_schema = toto;' yapardı, ama cx_Oracle
ile etrafta nasıl dolaşacağımı bilmiyorum.
En son kaynak sürümünü indirdim: cx_Oracle-5.0.2.tar.gz. şemanın documentation değişen göre
salt yazma özelliği olmalıdırConnection.current_schema
ayarı basit bir durumdur ... Sorun benim
Connection
nesne herhangi
current_schema
niteliği yoktur olduğunu. hatayla
>>> c.current_schema = 'toto'
sonuçlarını kullanarak niteliğini belirlemek için çalışılıyor
>>> c = cx_Oracle.connect(...)
>>> dir(c)
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__',
'__getattribute__', '__hash__', '__init__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', 'autocommit', 'begin', 'cancel', 'changepassword', 'close',
'commit', 'cursor', 'dsn', 'encoding', 'inputtypehandler',
'maxBytesPerCharacter', 'nencoding', 'outputtypehandler', 'password', 'prepare',
'register', 'rollback', 'stmtcachesize', 'tnsentry', 'unregister', 'username',
'version']
... __setattr__
görünüşte bunu önlemek için kılınmış.
Peki ... kimse nasıl yapılacağını biliyor mu?
İşte benim hatam.
>>> c.current_schema = 'toto'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'cx_Oracle.Connection' object has no attribute 'current_schema'
>>> setattr(c, 'current_schema', 'toto')
# same error
Ve burada OS ve piton hakkında bilgi şunlardır:
SUSE LINUX Enterprise Server 9 (x86_64)
VERSION = 9
PATCHLEVEL = 3
Ve ben de çok üzerinde, 64bits için cx_Oracle
derlenmiş
(64bits için derlenmiş) piton 2.6.2 kullanmak aynı makine.
Görünür bir özellik olarak mevcut değil, çok fazla ifade edilmiyor. __setattr__ 'bazı gizemli şekilde uygulamak için geçersiz kılındı. 'C (c)' den daha önemli olan şey aslında c.current_schema = 'toto''yu yaptığınızda aldığınız asıl hatadır. –