Oracle 自治数据库
Oracle 自治数据库是一种云数据库,它使用机器学习来自动执行数据库调优、安全性、备份、更新和其他传统上由 DBA 执行的日常管理任务。
此笔记本介绍如何从 Oracle Autonomous Database 加载文档,加载程序支持使用连接字符串或 tns 配置进行连接。
先决条件
- 数据库以 “精简” 模式运行:https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_b.html
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
使用双向 TLS 身份验证 (mTLS) 时,创建连接需要 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()