2012-06-02 30 views
0
需要最低配置

我继承了一些遗留代码,在这一点上我只需要得到它的工作 - 只有它有这个代码:使“进口ODBC.Windows的工作在Python

import ODBC.Windows, os 
DBconn = ODBC.Windows.connect("DRG3","sa","") 
cursor = DBconn.cursor() 

我已经将pyODBC,pyWin32和mxODBC添加到我的Python 2.7安装中,但仍然无效。这似乎是mxODBC的代码,但是他们的安装说明很模糊,现在看起来像是一种付费产品(尽管它可能不是在写这篇文章的时候,大约在2001年)。即使安装后,也没有改变,直到我从Python27 \ LIB \站点包复制相关文件\ MX \ mxODBC \到Python27 \ lib中,甚至在反复打猎所需的文件,这和将其添加到\ lib中,我最后到达'没有名为Windows的模块'。

底线是,我想这与精力最少的连接,所以我可以继续前进。我以前从未使用python,所以我会很感激任何帮助。我没有致力于使用mxODBC,但如果我使用其他方法,我需要知道如何更改代码。

回答

1

首先,我很抱歉这必须是您的介绍到Python。被抛在深处是没有乐趣的。话虽如此,我还是有一些我希望证明会有帮助的言论。

  1. 你试图去运行的程序是。你提到了2001年(我脑海中想起了石器时代人的图像),所以这将是Python 2.0或2.1。现在,我不是太在意语言本身,为保持核心语言和标准库向后兼容对于维护一个主要优先事项,但是这可能不是任何其他图书馆应用需求的情况。 API可能会在11年内发生很大变化,有些图书馆可能会被完全放弃(这可能意味着有更好的选择,但仍然)。我在这里说的是,你会大概需要耐心在这里。

  2. 如果这个计划真的使用mxODBC作为其数据库连接器(它当然看起来是这样)提醒您,它有它自己的一些依赖。 (请参阅Egenix网站)。顺便说一下,据我所知,mxODBC一直是商业产品,虽然确切的许可可能已经改变。

  3. 另外,我认为 import语句应该是:

    import mx.ODBC.Windows, os 
    

    这意味着连接语句应该是:

    mx.ODBC.Windows.connect("DRG3","sa","") 
    
  4. 移动Python文件在\ lib目录像周围你确实可能已经破碎了。你可能想要撤销这个。

  5. 我也有点担心要连接到数据源。如果它确实是ODBC,那么可能会遇到问题,即设置它或使其工作,但这取决于您运行的Windows的风格。很长一段时间,微软一直不赞成使用ODBC,而64位的Windows真的在这里破坏了一些东西。最近,看起来,他们已经回绝了这一点,但我不确定到目前为止导致的结果。

  6. 如果由于某种原因mxODBC不适用于您,请尝试pyodbc。你需要构建一个适当的连接字符串才能工作,但在互联网上有足够的例子让你开始。

我会亲自去为列表中的最后一个选项,但也只是因为我曾与pyodbc一些好的经验,没有经验,在与mxODBC所有。正如俗话所说:你的里程可能会有所不同。

0

您可以用pyodbc试试这个:

import pyodbc 
DBconn = pyodbc.connect("DSN=DRG3;UID=sa;PWD=") 
cursor = DBconn.cursor()