解释与远程数据库交互的python应用程序中数据库驱动程序、库和DLL的必要性?

2024-05-15 23:57:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我不明白的是为什么我必须安装InstantClient? 我试图通读这些文档,但我相信我对数据库如何工作和通信缺乏一些基本的理解

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

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


Tags: 数据文档程序脚本数据库可执行文件远程过程
1条回答
网友
1楼 · 发布于 2024-05-15 23:57:43

我们有一组驱动程序,允许您与Oracle数据库通信。其中大多数都是一种“包装器”,它搭载在Oracle客户端上。编译的C二进制文件使用我们称之为“OracleNet”(不要与.Net混淆)的东西与Oracle一起工作

因此,我们的python、php、perl、odbc等驱动程序都是编写的小程序,可以用来利用系统上的Oracle客户机

Oracle客户端不仅仅是一个驱动程序。它可以包括用户界面,如SQL*Plus、SQL*Loader等,也可以只是一组驱动程序——这取决于您选择下载和安装的确切软件包。说到“安装”——如果你抓到了即时客户端,就没有什么可安装的了。您只需解压缩它并适当地更新您的环境路径位,以便可以加载驱动程序

相关问题 更多 >