cx_ORAcle を使用して Python から Oracle にアクセスしようとしています。
行を返さない select ステートメントがあります。NO_DATA_FOUND ..これがエラー状態の処理方法です。
このコードを実行すると、エラー NO_DATA_FOUND が cx_oracle.error または cx_oracle.Databaseerror または cx_oracle.Warning. によってキャッチされません。
NO_DATA_FOUND 条件を処理するにはどうすればよいですか?
コード.py
def DetermineNames(self):
sql = """select NAME from EMP_TAB where fd_fle_id = %s"""%(self.fileid)
try:
self.cursor.execute(sql)
result = self.cursor.fetchall()
for row in result:
print('row',row)
except cx_Oracle.Error as e:
print("Error:Unable to determine the RAW_OBJ_NAME: Object Name:%s, Function Name:%s Error:%s")%(self.__class__.__name__,sys._getframe().f_code.co_name,
str(e).strip())
except cx_Oracle.DatabaseError as e:
print("Error:Unable to determine the RAW_OBJ_NAME: Object Name:%s, Function Name:%s Error:%s")%(self.__class__.__name__,sys._getframe().f_code.co_name,
str(e).strip())
except cx_Oracle.Warning as e:
print("Error:Unable to determine the RAW_OBJ_NAME: Object Name:%s, Function Name:%s Error:%s")%(self.__class__.__name__,sys._getframe().f_code.co_name,
str(e).strip())
return self.rawname