Skip to main content
Open In ColabOpen on GitHub

Oracle Autonomous Database

Oracle autonomous database 是一个云数据库,它利用机器学习来自动执行数据库调优、安全、备份、更新以及传统上由 DBA 执行的其他常规管理任务。

本笔记本介绍了如何从 oracle autonomous database 加载文档,该加载器支持使用连接字符串或 tns 配置进行连接。

先决条件

  1. 数据库以“Thin”模式运行: https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_b.html
  2. pip install oracledb: https://python-oracledb.readthedocs.io/en/latest/user_guide/installation.html

说明

pip install oracledb
from langchain_community.document_loaders import OracleAutonomousDatabaseLoader
from settings import s

使用 mTLS(mutual TLS 身份验证),需要 wallet_location 和 wallet_password 来创建连接。用户可以通过提供连接字符串或 TNS 配置详细信息来创建连接。

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()

使用 TLS 身份验证时,不需要 wallet_location 和 wallet_password。 Bind variable 选项通过参数 "parameters" 提供。

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()