📄 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 + -