Oracle Autonomous Database는 머신 러닝을 사용하여 데이터베이스 튜닝, 보안, 백업, 업데이트 및 전통적으로 DBA가 수행하던 기타 일상적인 관리 작업을 자동화하는 클라우드 데이터베이스입니다. 이 노트북은 Oracle Autonomous Database에서 문서를 로드하는 방법을 다루며, loader는 connection string 또는 tns 구성을 통한 연결을 지원합니다.

Prerequisites

  1. python-oracledb 설치: pip install oracledb
    1. Installing python-oracledb를 참조하세요.

Instructions

pip install oracledb
from langchain_community.document_loaders import OracleAutonomousDatabaseLoader
from settings import s
mutual TLS authentication(mTLS)을 사용하는 경우, 연결을 생성하려면 wallet_location 및 wallet_password 매개변수가 필요합니다. python-oracledb 문서 Connecting to Oracle Cloud Autonomous Databases를 참조하세요.
SQL_QUERY = "select prod_id, time_id from sh.costs fetch first 5 rows only"

doc_loader_1 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    config_dir=s.CONFIG_DIR,
    wallet_location=s.WALLET_LOCATION,
    wallet_password=s.PASSWORD,
    tns_name=s.TNS_NAME,
)
doc_1 = doc_loader_1.load()

doc_loader_2 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    connection_string=s.CONNECTION_STRING,
    wallet_location=s.WALLET_LOCATION,
    wallet_password=s.PASSWORD,
)
doc_2 = doc_loader_2.load()
1-way TLS authentication을 사용하는 경우, 연결을 설정하는 데 데이터베이스 자격 증명과 connection string만 필요합니다. 아래 예제는 parameters 인수를 사용하여 bind variable 값을 전달하는 방법도 보여줍니다.
SQL_QUERY = "select channel_id, channel_desc from sh.channels where channel_desc = :1 fetch first 5 rows only"

doc_loader_3 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    config_dir=s.CONFIG_DIR,
    tns_name=s.TNS_NAME,
    parameters=["Direct Sales"],
)
doc_3 = doc_loader_3.load()

doc_loader_4 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    connection_string=s.CONNECTION_STRING,
    parameters=["Direct Sales"],
)
doc_4 = doc_loader_4.load()

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I