Python与数据库[1] -> 数据库接口/DB-API -> ODBC 适配器

ODBC适配器 / ODBC Adaptor



ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

1 ODBC环境配置 / ODBC Configuration

安装ODBC的Python包

pip install pyodbc 

对于pyodbc连接不同数据库的配置可参考链接

1. 连接sql server: DRIVER={SQL Server};

2. 连接mysql: Driver={MySQL ODBC 5.x Driver}需要安装mysql odbc:

3. MysqlDB

不需要安装mysql odbc,

目前linux版本支持到2.7,windows版本支持到2.5。

4. linux下pyodbc的安装

需安装unixODBC,Freetds,mysql-connector-odbc

5. linux下pyodbc的使用

pyodbc 不支持在在linux 使用如下连接方式

s=pyodbc.connect(‘DRIVER={SQL Server};SERVER=127.0.0.0;DATABASE=test;UID=test;PWD=test‘)

linux上正确的连接mssql的方式为

s=pyodbc.connect(‘DRIVER={FreeTDS};SERVER=127.0.0.0;DATABASE=test;UID=idc;PWD=test‘)

2 ODBC连接数据库 / ODBC Connect Database

使用pyodbc对数据库进行连接,

 1 import pyodbc as odbc
 2
 3 def connect(**kwargs):
 4     cnx = odbc.connect(**kwargs)
 5     cur = cnx.cursor()
 6     sql=‘SELECT * FROM information_schema.TABLES‘
 7     cur.execute(sql)
 8     re = cur.fetchall()
 9     print(re)
10     cur.close()
11     cnx.close()
12
13 connect(host=‘host‘, user=‘user‘, password=‘password‘, database=‘db‘, charset=‘UTF-8‘, driver=‘SQL Server‘)
14
15 # connect(host=‘localhost‘, user=‘root‘, password=‘root‘, charset=‘UTF-8‘, driver=‘MySQL ODBC 5.3 Driver‘)

Note: 此处使用odbc成功连接了SQL Server,但对于MySQL尚未连接成功

相关阅读



1. 使用 Python 建立 MySQL 适配器

2. DB-API 通用标准

参考链接



https://zhidao.baidu.com/question/1050890691174410619.html

http://sourceforge.net/projects/mysql-python/

原文地址:https://www.cnblogs.com/stacklike/p/8178922.html

时间: 2024-10-12 02:41:29

Python与数据库[1] -> 数据库接口/DB-API -> ODBC 适配器的相关文章

Python与数据库[1] -> 数据库接口/DB-API -> SQL Server 适配器

SQL_Server适配器 / SQL_Server Adapter 1 环境配置 / Environment Configuration 安装SQL_Server的Python适配器包 pip install pymssql Note: 此处采用远程数据库服务器,因此未安装本地SQL_Server 2 SQL_Server实例 / SQL_Server Examples 由于远程数据库账号仅具有读取权限,因此此处示例基本以读取为主. 查看数据库 / Show Database 利用适配器的基本

Python与数据库[1] -> 数据库接口/DB-API -> 通用标准

数据库接口 / DB-API 在Python中,数据库是通过适配器(Adaptor)来连接访问数据库的,适配器通常与数据库客户端接口(通常为C语言编写)想连接,而不同的适配器都会尽量满足相同的DB-API标准. 为了保证不同数据库的数据库接口能够通用于适配器,以减少使用不同数据库接口是需要对代码进行大幅改动,Python的DB-SIG(数据库特殊兴趣小组)制定了DB-API的标准,该API为不同的关系数据库提供了一致的接口,使得使用不同数据库的代码间移植变得更加简单.数据库接口目前的版本为DB-

Python与数据库[1] -> 数据库接口/DB-API -> MySQL 适配器

MySQL适配器 / MySQL Adapter MySQL是一种关系型数据库,下面主要介绍利用如何利用Python的MySQL适配器来对MySQL进行操作,其余内容可参考文末相关阅读. 1 MySQL环境配置 / Environment Configuration 安装MySQL 首先在官网下载对应版本的MySQL,在安装过程中会要求Visual Studio 201x的安装环境,可前往下载Visual Studio 2015版本,安装完毕后重启完成MySQL安装. 配置MySQL 在安装目录

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以及c api (php用此接口),共约101个类+128个c函数1 2.1. Jdbc api数量  约60个类..java.sql包下面的..大概几百个方法函数吧..2 2.2. Odbc api数量::约78个,odbc是个非oo的api2 2.3. C api (mysql ): 约50个..

Python DB API的异常

我们在昨天预告了一下Python DB API的异常,今天我们来细讲一下: 1.所有异常的超类:StandardError; 2.waring:属于StandardError超类,发生非致命问题所以发的异常: 3.Error:属于StandardError超类,所有错误条件的超类: 4.InterfaceError:属于Error超类,发生与接口(非数据库)相关的错误所引发的异常: 5.DatabaseError:属于Error超类,发生与数据库相关的错误的超类: 6.DataError:属于D

Python DB API 连接数据库

Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源. 原文地址:https://www.cnblogs.com/jiqing9006/p/9713716.html

零基础学Python--------第11章 使用Python操作数据库

第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了对数据库进行统一的操作,大多数语言都是提供了简单的.标准化的数据库接口(API).在Python Database API 2.0 规范中,定义了Python数据库API接口的各个部分,如模块接口.连接对象.游标对象.类型对象和构造器.DB API 的可选扩展以及可选的错误处理机制等.下面重点介绍一

Python与数据库

本来想用下MySQLdb这个包来连接数据库,没想到这包还有没出适合Python3.5.1的版本,安装过程中提示: C:\Users\Melody>pip install mysqldb Collecting mysqldb Could not find a version that satisfies the requirement mysqldb (from versions: ) No matching distribution found for mysqldb 只好转投PyMySQL,使

python sqlite3 数据库操作

SQLite3是python的内置模块,是一款非常小巧的嵌入式开源数据库软件. 1. 导入Python SQLite数据库模块 import sqlite3 2. python sqlite3模块的API """ sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的链接.您可以使用 ":memory:" 来在 RA