레이블이 cx_oracle인 게시물을 표시합니다. 모든 게시물 표시
레이블이 cx_oracle인 게시물을 표시합니다. 모든 게시물 표시

금요일, 10월 12, 2007

Oracle 사용중에 접속이 끊어진것 확인하는 방법


ORA-03114 코드를 처리해서 재 접속하는 코드를 추가하면됩니다.


import re,cx_Oracle


ser = re.search('ORA-(\d+):\s+', sys.exc_value.__str__())
# DatabaseError: ORA-03114: not connected to ORACLE
if ser and (ser.group(1) == '03114'):
self.close()
self.connectOracle(self.dbId, self.dbPasswd, self.dbTnsName )


else:


__LOG__.Exception()
__LOG__.Trace( "OracleDao(PS_BTS_CLASS) execute error: ", sys.exc_info() )


return None

cx_Oracle에서 prepare하여 사용하기 예제




python 에서 Oracle 사용하는 모듈









cx_Oracle에서 prepare하여 사용하기 예제









>>> ts = datetime.datetime.now()


>>> print ts


2007-03-10 20:12:02.109000


>>> cursor.prepare("INSERT INTO python_tstamps VALUES(:t_val)")


>>> cursor.setinputsizes(t_val=cx_Oracle.TIMESTAMP)


cursor.setinputsizes(t_val=cx_Oracle.TIMESTAMP)


>>> cursor.execute(None, {'t_val':ts}) <-- 이부분이 중요 포인트


>>> db.commit()









링크: http://www.oracle.com/technology/pub/articles/prez-python-timesanddates.html