大道至简,新一代企业应用无栈开发

平台之上,一种语言,可视化、脚本化、全端一体化开发

外部数据库访问

访问外部的SQL数据库

关系数据库访问

关系数据库访问

易度默认采用的是ZODB,数据库适合管理文档和流程,使用非常方便。但是在数据分析方面,和传统的关系数据库比较,还是存在不足。

另外,大量传统的CRM、ERP等系统,还是以关系数据库做为存储,和这些系统的集成也需要访问关系数据库。

易度提供了对关系数据库访问,目前支持的数据库包括:Mysql、 Oracle、Microsoft SQL Server 、PostgreSQL。

1   快速示例

接口基于标准的 DB-API 2 规范,底层做了连接池管理,使用简单高效:

# 得到一个Mysql数据的连接
connection = get_db_connection('mysql', host='127.0.0.1', user='username', passwd='password', db='test_db')
cursor = connection.cursor()

# 执行一个查询
cursor.execute("select username, fullname from users;")
#取得上个查询的结果,是单个结果
data = cursor.fetchone()
print "username is %s, fullname is  %s " % data[0], data[1]

# 插入一条记录
cursor.execute("insert into users values('zhangsan', '张三')")

# 插入多条记录
values=[('lisi', "李四"),
        ('wangwu', "王五"),
        ('laozhang', "老张")]
cursor.executemany("""insert into users values(%s, %s) """, values)

connection.commit()

# 释放连接, 将连接返回连接池 (注意,这里必须释放)
cursor.close()
connection.close()

2   函数:get_db_connection

get_db_connection(db_type, **kwargs)

此函数会返回一个符合 DB-API 2 规范的连接,其中:

MySQL的连接参数

connection = get_db_connection('mysql', host='127.0.0.1', user='username', passwd='password', db='test_db')

Microsoft SQL Server的连接参数

connection = get_db_connection('mssql', host='127.0.0.1', user='user', password='password', database='test_db')

PostgreSQL 的连接参数

connection = get_db_connection('postgresql', host='127.0.0.1', user='user', password='password', database='test_db)

Oracle 的连接参数:

connection = get_db_connection('oracle', user='username', password='passwd', dsn='127.0.0.1:1523/test_db')