首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unixODBC误差IM001

unixODBC误差IM001
EN

Stack Overflow用户
提问于 2011-09-10 09:03:22
回答 3查看 1.6K关注 0票数 2

在尝试执行任何简单查询时,我会得到以下错误。我只是想不出是什么改变了。

下面是sqlalchemy (Elixir)类的一个示例:

代码语言:javascript
复制
class Song(Entity):
    using_options(tablename='tbSongs', autoload=True)
    using_table_options(schema='apra')

数据库连接正常,类构造ok,因为我可以执行dir(Song)并查看所有正确的列。然而,一个简单的查询是行不通的。

下面是对该类的查询和结果输出:

代码语言:javascript
复制
>>> songs = Song.query.all()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 1729, in all
    return list(self)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 1839, in __iter__
    return self._execute_and_instances(context)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 1854, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1399, in execute
    params)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1532, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_context
    context)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1633, in _execute_context
    context)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 325, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.DBAPIError: (Error) ('IM001', '[IM001] [unixODBC][Driver Manager]Driver does not support this function (0) (SQLColAttribute)') 'SELECT [tbSongs_1].[ID_Song] AS [apra_tbSongs_ID_Song], [tbSongs_1].[Album] AS [apra_tbSongs_Album], [tbSongs_1].[Title] AS [apra_tbSongs_Title], [tbSongs_1].[Composer] AS [apra_tbSongs_Composer], [tbSongs_1].[Performer] AS [apra_tbSongs_Performer], [tbSongs_1].[TrackNumber] AS [apra_tbSongs_TrackNumber], [tbSongs_1].[Duration] AS [apra_tbSongs_Duration], [tbSongs_1].[RecordLabel] AS [apra_tbSongs_RecordLabel], [tbSongs_1].[Notes] AS [apra_tbSongs_Notes], [tbSongs_1].[Class] AS [apra_tbSongs_Class], [tbSongs_1].[SongID] AS [apra_tbSongs_SongID], [tbSongs_1].[Deleted] AS [apra_tbSongs_Deleted] \nFROM apra.[tbSongs] AS [tbSongs_1]' ()
>>> 

设置详细信息:

2.7.2

  • sqlalchemy

  • 32位Arch

  • Python0.7.2
  • 长生不老药0.7.1
  • FreeTDS 0.82-5
  • unixodbc 2.3.0-1

/etc/odbcinst.ini:

代码语言:javascript
复制
[ODBC Drivers]
tds = Installed
[tds]
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsodbc.so

/etc/odbc.ini:

代码语言:javascript
复制
[ODBC]
Trace = 0
[DBNAME]
Driver = TDS
Trace = No
Server = xx.xx.xx.xx\dbname
Database = dbname
Port = 1433
EN

回答 3

Stack Overflow用户

发布于 2011-09-20 17:54:48

我也有这个错误,降级到unixODBC 2.2.12为我修复它(注意,我不能让PyOBDC用2.2.14构建,必须是2.2.12)。我对最新版本的unix ODBC工具(Freetds 0.91也很成问题)的状态感到困扰。

票数 1
EN

Stack Overflow用户

发布于 2011-09-20 23:01:25

尝试删除预先包装的FreeTDS、unixODBC和pyodbc。从使用0.91、2.3.0和2.1.9版本的源代码进行重建对我来说是可行的,但这可能是一个棘手的过程。我已经在SQLAlchemy组最近在http://groups.google.com/group/sqlalchemy/browse_thread/thread/971e068032d51dd5上的一个帖子中详细介绍了它。

票数 1
EN

Stack Overflow用户

发布于 2011-09-15 10:57:25

您能提供发生这种情况的ODBC跟踪吗?我只是意识到了这个问题,我(目前)无法重现这个问题。所以,如果你能把它发生的日志寄给我,那应该是朝着正确方向迈出的一步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7370728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档