?? mxodbc.py
字號:
# mxODBC.py# Copyright (C) 2007 Fisch Asset Management AG http://www.fam.ch# Coding: Alexander Houben alexander.houben@thor-solutions.ch## This module is part of SQLAlchemy and is released under# the MIT License: http://www.opensource.org/licenses/mit-license.php"""A wrapper for a mx.ODBC.Windows DB-API connection.Makes sure the mx module is configured to return datetime objects insteadof mx.DateTime.DateTime objects."""from mx.ODBC.Windows import *class Cursor: def __init__(self, cursor): self.cursor = cursor def __getattr__(self, attr): res = getattr(self.cursor, attr) return res def execute(self, *args, **kwargs): res = self.cursor.execute(*args, **kwargs) return resclass Connection: def myErrorHandler(self, connection, cursor, errorclass, errorvalue): err0, err1, err2, err3 = errorvalue #print ", ".join(["Err%d: %s"%(x, errorvalue[x]) for x in range(4)]) if int(err1) == 109: # Ignore "Null value eliminated in aggregate function", this is not an error return raise errorclass, errorvalue def __init__(self, conn): self.conn = conn # install a mx ODBC error handler self.conn.errorhandler = self.myErrorHandler def __getattr__(self, attr): res = getattr(self.conn, attr) return res def cursor(self, *args, **kwargs): res = Cursor(self.conn.cursor(*args, **kwargs)) return res# override 'connect' calldef connect(*args, **kwargs): import mx.ODBC.Windows conn = mx.ODBC.Windows.Connect(*args, **kwargs) conn.datetimeformat = mx.ODBC.Windows.PYDATETIME_DATETIMEFORMAT return Connection(conn)Connect = connect
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -