• Python与数据库[1] -> 数据库接口/DB-API[3] -> 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/

  • 相关阅读:
    201920201学期20192407《网络空间安全专业导论》第一周学习总结
    JavaEEJSP详解
    JavaEEJSP指令
    JavaSE类与对象
    JavaSE基础知识
    JavaEEEL表达式
    JavaSE关键字
    JavaSE抽象类、内部类、接口
    JavaSE面向对象
    绪论
  • 原文地址:https://www.cnblogs.com/stacklike/p/8178922.html
Copyright © 2020-2023  润新知