如何在Sybase中使用SQLAlchemy反射? [答案:原来不支持!] [英] How to use SQLAlchemy reflection with Sybase? [answer: turns out it's not supported!]

查看:143
本文介绍了如何在Sybase中使用SQLAlchemy反射? [答案:原来不支持!]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正试图学习更多有关.egg概念和Python中重写方法的信息.这是我收到的错误消息:

I'm trying to learn more about the .egg concept and overriding methods in Python. Here's the error message I'm receiving:

Traceback (most recent call last):
  File "C:/local/work/scripts/plmr/plmr_db.py", line 42, in <module>
    insp.reflecttable(reo_daily_table, column_list)
  File "build\bdist.win32\egg\sqlalchemy\engine\reflection.py", line 370, in reflecttable
  File "build\bdist.win32\egg\sqlalchemy\engine\reflection.py", line 223, in get_columns
  File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 260, in get_columns
NotImplementedError

这是base.py中的特定功能:

Here's the specific function from base.py:

def get_columns(self, connection, table_name, schema=None, **kw):
    """Return information about columns in `table_name`.

    Given a :class:`.Connection`, a string
    `table_name`, and an optional string `schema`, return column
    information as a list of dictionaries with these keys:

    name
      the column's name

    type
      [sqlalchemy.types#TypeEngine]

    nullable
      boolean

    default
      the column's default value

    autoincrement
      boolean

    sequence
      a dictionary of the form
          {'name' : str, 'start' :int, 'increment': int}

    Additional column attributes may be present.
    """

    raise NotImplementedError()

所以我的问题是-我是否通过在主模块中编写新方法来覆盖此功能?还是我在导入过程中缺少某个步骤?还是我完全不在这里?

So my question is - do I override this function by writing a new method in my main module? Or am I missing a step somewhere along the way with my imports? Or am I just completely off track here?

感谢您的帮助:)

添加我的代码

import sys
from sqlalchemy import create_engine, select, Table, MetaData
from sqlalchemy.engine import reflection

dbPath = 'connection_string'
engine = create_engine(dbPath, echo=True)

connection = engine.connect()

#reflect tables into memory
meta = MetaData()
reo_daily_table = Table('reo_daily',meta)
insp = reflection.Inspector.from_engine(engine)
column_list=[...]
insp.reflecttable(reo_daily_table, column_list)

connection.close()

推荐答案

EDIT :

Sybase方言目前缺乏反映表的功能.

这篇关于如何在Sybase中使用SQLAlchemy反射? [答案:原来不支持!]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆