2026/04/22

오늘의 이야기

Python으로 Oracle 데이터 삽입 시 특수문자 처리 방법


python coding (feat ChatGPT)



 


Oracle 데이터베이스에 데이터를 삽입하면서 문자열에 특수문자, 특히 작은따옴표(')가 포함된 경우 SQL 문법 오류를 방지하는 방법을 소개합니다.


1. SQL Escape 처리


특수문자, 특히 작은따옴표가 포함된 문자열을 안전하게 처리하려면 작은따옴표를 두 개로 변환해야 합니다. Python 코드 예시는 다음과 같습니다:



python



def escape_string(value):
return value.replace("'", "''")

text = "Python's flexibility!"
escaped_text = escape_string(text)
print(escaped_text) # Python''s flexibility!




2. 바인딩 변수 사용


cx_Oracle와 같은 라이브러리를 사용하면 바인딩 변수를 통해 SQL 인젝션을 방지하고 작은따옴표 문제를 자동으로 해결할 수 있습니다.



python



import cx_Oracle

# Oracle 연결 설정
dsn = cx_Oracle.makedsn("your_host", 1521, service_name="your_service")
conn = cx_Oracle.connect("your_username", "your_password", dsn)
cursor = conn.cursor()

# 데이터 삽입
sql = "INSERT INTO your_table (column_name) VALUES (:1)"
data = "Python's flexibility!"

cursor.execute(sql, [data])
conn.commit()

cursor.close()
conn.close()




3. SQL 함수 활용 (QUOTE)


Oracle SQL 자체에서 제공하는 QUOTE 함수를 사용하여 작은따옴표 문제를 해결할 수도 있습니다.



sql



SELECT QUOTE('Python''s flexibility!') FROM dual;




요약



  • Escape 처리: 문자열에서 작은따옴표를 두 개로 바꿉니다.

  • 바인딩 변수 사용: cx_Oracle을 통해 더 안전하게 처리합니다.

  • Oracle SQL 함수: 데이터베이스 자체에서 QUOTE 함수를 활용합니다.


안전한 데이터 삽입을 위해 위 방법 중 상황에 맞는 최적의 방식을 선택하세요!





댓글 없음:

댓글 쓰기

오늘의 이야기

#스하리1000명프로젝트, 迷失在韓國?即使您不會說韓語,這個應用程式也可以幫助您輕鬆出行。 只需說出您的語言即可 - 它會翻譯、搜尋並以您的語言顯示結果。 非常適合旅行者!支援英語、日語、中文、越南語等10多種語言。 現在就試試吧! https://play.go...