2008年7月27日twining 网站上的介绍是Twining aims to be an IronPython DSL for working with databases. 不过,现在称为dsl 还是有点早. 个人感觉只能是一个 utility class

 

twining 是为数不多的专门为ironpython写的代码. 它能够完成常见的数据库维护操作,像备份,导入导出数据,使用也比较简单

1. 创建一个连接字符串

2. 构造一个database实例

3. 通过该实例进行操作,如

backupto/run_sql/table(tableName)/ping/copyto/importfrom...

 

值得注意的是,调用table(tablename)并不像我们想像的会返回一个table实例并对其进行操作,实际上,twining有个类register,里面有一些类变量tableRegister,databaseRegister,transforms,warning等. 调用table(tableName)仅仅是设置register.tableRegister值,返回的还是database实例

 

 

from Twining import database

connectionString='server=(local);user id=sa;pwd=;database=mydb"

db=database(connectionString)

db.backup('c:\\mydb.bak')

 

twining的代码很简单,由下面一些类组成

register - 全局的设定

database - database 类

copyto - 主要对table进行export操作

importfrom 主要对table进行import操作

sqlhelper 进行ExecuteReader/ExecuteNoQuery 操作

 

 

个人感觉这个代码命名上有些小问题,像py文件应该用小写,类名应该用大写(否则像database(connectionString)这样会让人误以为 database是个方法). 另外,oo模型也不算漂亮. 但总的来说,是段 实用的代码.而且是专门for ironpython,所以值得推荐一下

http://www.t3rse.com/twining/

 

 

 

posted on 2008-07-27 09:24  jjxstudio  阅读(550)  评论(0编辑  收藏  举报