Skip to main content
Open In Colab在 GitHub 上打开

Oracle 自治数据库

Oracle 自治数据库是一种云数据库,它使用机器学习来自动执行数据库调优、安全性、备份、更新和其他传统上由 DBA 执行的日常管理任务。

此笔记本介绍如何从 Oracle Autonomous Database 加载文档,加载程序支持使用连接字符串或 tns 配置进行连接。

先决条件

  1. 数据库以 “精简” 模式运行:https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_b.html
  2. pip install oracledbhttps://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()