解释与远程数据库交互的python应用程序中的数据库驱动程序,库,dll的必要性吗?

问题描述 投票:0回答:1

我编写了一个python脚本,该脚本连接到远程Oracle数据库并将一些数据插入其表中。

在此过程中,我必须首先导入cx_Oracle软件包并在本地计算机上安装Oracle InstantClient,脚本才能正常执行。

我不明白为什么我必须安装InstantClient?我试图通读文档,但我认为我对数据库的工作和通信缺少一些基本的了解。

为什么我需要所有外部驱动程序,dll,python脚本的库才能与远程数据库通信?我相信这会使python可执行文件的打包和分发变得更加困难。还有什么是InstantClient?是司机吗?什么是司机?它仅仅是知道如何与Oracle数据库通信的“程序”的集合吗?如果是这样,为什么不能简单地导入python包来完成?

这听起来好像我事先没有做自己的研究,但是很抱歉,我尝试过,就像我说的,我相信我缺少一些基础知识。

python sql database oracle database-connection
1个回答
0
投票

我们有一组驱动程序,可让您与Oracle数据库进行通信。其中大多数都是在Oracle Client上搭载的“包装器”。使用我们称为“ Oracle Net”(不要与.NET混淆)的已编译C二进制文件与Oracle一起使用。

因此,我们的python,php,perl,odbc等驱动程序是编写的小程序,可以用来在您的系统上利用Oracle Client。

Oracle客户端不仅仅是驱动程序。它可以包括SQL * Plus,SQL * Loader等用户界面。也可以只是一组驱动程序-这取决于您选择下载和安装的确切软件包。说到“安装”,如果您抢占了Instant Client,则无需安装任何软件。您只需解压缩并适当更新您的环境路径位,即可加载驱动程序。

© www.soinside.com 2019 - 2024. All rights reserved.