Skip to main content
Open In ColabOpen on GitHub

Oracle 自治数据库

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

这个笔记本介绍了如何从Oracle自治数据库加载文档,加载器支持通过连接字符串或tns配置进行连接。

前置条件

  1. 数据库运行在‘薄’模式下: 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

Instructions

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。 通过参数"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()