转载自百家号作者:编程是有趣的
大家好,今天我们就一起聊聊Python“数据库操作”之ODBC。什么是ODBC呢?ODBC即OpenDataBaseConnection的缩写,意为开放数据库连接,是微软提出的一种数据访问的方法,只要数据库提供了ODBC驱动程序,应用程序就能以ODBC的方式访问数据库中的数据。
为了便于访问数据,WINDOWS系统提供了ODBC数据源管理工具,该工具用来设置数据源的名字DSN(DATASOURCENAME)。所谓DSN只不过是一个数据源的标志,设置它的目的是便于应用程序访问数据,也就是说,只要为某个数据库设置了相应的DSN,应用程序就不必理会该数据库存储的位置和驱动程序,可以按DSN直接访问数据库。
DSN有三种类型:用户DSN、系统DSN和文件DSN。用户DSN只对设置它的用户可见,而且只能在设置了该DSN的机器上使用;系统DSN对机器上的所用户都是可见的,包括NT服务;文件DSN将DSN的配置信息存在一个文件里,这样的文件就叫文件DSN。我们一般只需要考虑用户DSN即可。
在Windows中手动添加DSN是很简单,依次点击控制面板-管理工具-数据源,打开下图所示的界面,点击添加,按照提示一步步完成即可。
Python中用来操作ODBC的类库是pypyodbc,该库不是Python内置的,需要我们手动安装,也很简单,在命令行窗口下输入pipinstallpypyodbc即可,如下图所示,显示出这样的界面表明pypyodbc库已经安装成功。除了使用pypyodbc,大家也可以使用pyodbc,二者没什么区别,pypyodbc是pyodbc的纯python实现,平台移植性更好。
使用pypyodbc库之前,需要采用import语句导入,也很简单。
还记得数据库操作第一步要干什么吗?对了,是建立数据库连接,不过在ODBC里面提供了两种方法:一是直接与数据库连接,二是通过数据源(DSN)与数据库连接,pypyodbc提供了connect方法完成这一操作。
我们注意到connect方法有一个参数connectString(连接字符串),通过使用connectString,便可以连接到ODBC,得到一个Connection对象,之后的操作便和文章《Python“数据库操作”初窥》中写的一样了,所以重点就是学习如何根据自己的实际情况和需要书写connectString,