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对数据库进行连接,

 import pyodbc as odbc

 def connect(**kwargs):
cnx = odbc.connect(**kwargs)
cur = cnx.cursor()
sql='SELECT * FROM information_schema.TABLES'
cur.execute(sql)
re = cur.fetchall()
print(re)
cur.close()
cnx.close() connect(host='host', user='user', password='password', database='db', charset='UTF-8', driver='SQL Server') # 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/

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

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

    SQL_Server适配器 / SQL_Server Adapter 1 环境配置 / Environment Configuration 安装SQL_Server的Python适配器包 pip in ...

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

    数据库接口 / DB-API 在Python中,数据库是通过适配器(Adaptor)来连接访问数据库的,适配器通常与数据库客户端接口(通常为C语言编写)想连接,而不同的适配器都会尽量满足相同的DB-A ...

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

    MySQL适配器 / MySQL Adapter MySQL是一种关系型数据库,下面主要介绍利用如何利用Python的MySQL适配器来对MySQL进行操作,其余内容可参考文末相关阅读. 1 MySQ ...

  4. Python与数据库

    链接汇总 https://www.cnblogs.com/stacklike/category/1134822.html Python与数据库[1] -> 数据库接口/DB-API[0] -&g ...

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

    Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以 ...

  6. Python DB API 连接数据库

    Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源.

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

    第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

  8. python操作数据库(Mysql)

    原文地址:https://www.cnblogs.com/R-bear/p/7022231.html python DB-API介绍 1.python标准数据库接口为 python DB-API,py ...

  9. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

随机推荐

  1. java和c/c++

    写c/c++的人,羡慕java可以自己管理内存 写java的人,羡慕c/c++没有gc问题

  2. 云计算之路-阿里云-分享:通过RDS备份文件恢复SQL Server数据库

    应用场景:假如您用了阿里云的SQL Server RDS,想在另外一台服务器上通过备份文件还原数据库至之前的某个时间点. 准备工作:准备1台用于还原的服务器,安装好SQL Server(2008或20 ...

  3. Windows添加自定义服务、批处理文件开机自启动方法

    [Windows 添加自定义服务方法]: 1.使用Windows服务工具instsrv.exe与srvany.exe: 参考:https://wenku.baidu.com/view/44a6e6f8 ...

  4. linux中帮助参数 man whatis which info区别?

    在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档: linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们: 在只记 ...

  5. Spring 学习笔记(五)—— Bean之间的关系、作用域、自动装配

    继承 Spring提供了配置信息的继承机制,可以通过为<bean>元素指定parent值重用已有的<bean>元素的配置信息. <?xml version="1 ...

  6. android系统联系人分组特效实现(1)---分组导航和挤压动画

    1.打开activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr ...

  7. 【Nescafé 31】杯NOIP模拟赛

    t1 题意:n*m的棋盘上从(1,1)走到(n,m),只能向下或向右,一些格子有老鼠,每个老鼠互不相同,当处于与老鼠有重边的格子时,视为看见了这只老鼠,求到终点看到最少的不同老鼠数. 分析:DP 由于 ...

  8. 【Luogu】P2490黑白棋(博弈DP)

    题目链接 题解链接 #include<cstdio> #include<cstring> #include<algorithm> #include<cstdl ...

  9. POJ3345 Bribing FIPA 【背包类树形dp】

    题目链接 POJ 题解 背包树形dp板题 就是读入有点无聊,浪费了很多青春 #include<iostream> #include<cstdio> #include<cm ...

  10. BZOJ1296 [SCOI2009]粉刷匠 【dp】

    题目 windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个格子最多只能被粉刷 ...