programing

데이터베이스 오류: ORA-00911: 잘못된 문자

itmemos 2023. 10. 4. 21:00
반응형

데이터베이스 오류: ORA-00911: 잘못된 문자

오라클 db에서 sql 쿼리를 실행하기 위한 코드는 다음과 같습니다.

try:
    conn = cx_Oracle.connect(DB_LOGIN+"/"+DB_PWD+"@"+SID)
    cursor = connection.cursor()
    cursor.execute(sql)
    connection.commit()
    cursor.close()
    conn.close()
except cx_Oracle.DatabaseError, ex:
    error, = ex.args
    print 'Error.code =', error.code
    print 'Error.message =' , error.message
    print 'Error.offset =', error.offset
    conn.rollback()

오류가 발생했습니다.DatabaseError: <cx_Orac...40066758>.

콘솔에 전체 오류 메시지가 표시되지 않는 이유는 무엇입니까?예외 부분이 실행되지 않은 것 같습니다.리눅스에서 python 2.5와 oracle 10.2.0을 사용합니다.

업데이트: 몇 가지 조사 후에 오류가 다음과 같은 것을 발견했습니다.DatabaseError: ORA-00911: invalid character.

내 sql 문자열은 다음과 같습니다.sql = "SELECT ID FROM TABLE WHERE DESC = '" + str(desc[0]) + "';". 생성된 문자열입니다."SELECT ID FROM TABLE WHERE DESC = '3312';"

SQL 개발자에서 동일한 요청을 실행하면 작동합니다.그래서 내가 뭘 잘못한 거지?

세미콜론을 삭제합니다.

sql = "SELECT ID FROM TABLE WHERE DESC  = '" + str(desc[0]) + "'"

언급URL : https://stackoverflow.com/questions/25018189/databaseerror-ora-00911-invalid-character

반응형