关闭

一个python ODBC数据源插件

发表于:2007-11-09 12:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:T.Sing    来源:T.Sing'Blog

        今天有很多时间,与大家分享一个最近使用的到第三方控件,个人认为对设计一些数据库测试脚本非常有用。

        首先,请访问这个地址:http://www.egenix.com/products/python/mxODBC/,此控件是一个ODBC的通用插件。

        这为我们通过Windows系统,制作各种测试脚本提供很好操作平台。DB-API:http://www.python.org/dev/peps/pep-0249/

Download
A successful installation of mxODBC requires these three steps:

Before continuing with the download of mxODBC
, first make sure that you have installed the eGenix.com mx Base Distribution, since the eGenix.com mxODBC Distribution is an add-on to our base set of Python extensions. 
The downloads below do not contain any license keys. You will either have to obtain evaluation licenses or buy production licenses in order to successfully install and use the package. 
Select the right download for your platform and Python version and then head on to the installation instructions below. 
IMPORTANT: 
By downloading
, installing or using the eGenix mxODBC Distribution, you agree to the terms and conditions set forth in the eGenix.com Commercial License Agreement 1.2.0.
Redistribution of these files is not allowed. Please contact the eGenix Sales Team for details about redistribution possibilities and terms.

        下载控件清单:

egenix-mx-base-3.0.0.win32-py2.5.ms

egenix-mx-experimental-3.0.0.win32-py2.5.msi

egenix-mxodbc-3.0.1.win32-py2.5.msi

注册License

eGenix.com Commercial License Agreement 1.2.0,注意填好后,Liscense会被发送到邮箱

Lincense拷贝的路径,本机地址:C:\Python25\Lib\site-packages\mx\ODBC

        如果没有注册Liscense,会有如下提示:

        以下提供一段测试程序,该段程序为清除Db2中的两表数据:

# -*- coding: cp936 -*-
import mx.ODBC
import mx.ODBC.Windows

IDLE中提示:
Traceback (most recent call last):
  File 
"E: tpSearch_Table.py", line 3in <module>
    
import mx.ODBC.Windows
  File 
"mxODBCWindows__init__.py", line 9in <module>
ImportError: initialization of module mxODBC failed (
<class 'mx.ODBC.Windows.LicenseError'>:mx.ODBC.license could not be loaded; please visit the http://www.egenix.com/ web-site to obtain a license file or write to licenses@egenix.com for information.)

提取有效部分:license could 
not be loaded; please visit the http://www.egenix.com/ web-site to obtain a license file or write to licenses@egenix.com for information

 

# -*- coding: cp936 -*-
import mx.ODBC
import mx.ODBC.Windows
import sys, os ,time

class db2_test():

    
def __init__(self, tablename1, tablename2):
        self.tablename1 
= tablename1
        self.tablename2 
= tablename2
        
print self.tablename1, self.tablename2
    
    
#清除任意制定表数据
    def truncate_table(self):
        db 
= mx.ODBC.Windows.DriverConnect( 'DSN=infospy' )
        cursor 
= db.cursor()
        cursor.execute(
"ALTER TABLE %s ACTIVATE NOT LOGGED INITiALLY WITH EMPTY TABLE;" % (self.tablename1))
        cursor.execute(
"ALTER TABLE %s ACTIVATE NOT LOGGED INITiALLY WITH EMPTY TABLE;" % (self.tablename2))
        cursor.execute(
"Commit;")
        cursor.close()
        db.close()
        
print "表%s;%s; 清除数据成功!" % (self.tablename1, self.tablename2)
        
if __name__ == "__main__":
    tablename1 
= "test_table_1"
    tablename2 
= "test_table_2"
    db2 
= db2_test(tablename1, tablename2)
    db2.truncate_table()
    time.sleep(
3)
    sys.exit(
1)

db = mx.ODBC.Windows.DriverConnect( 'DSN=infospy' ) DSN为在WindowsODBC中配置的数据源名

        有关ODBC配置,此贴略。由于时间关系,详细的API请查询文章中所给的地址。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号