当使用pyodbc模块与db交互并给出sql异常时,在ubuntu16.04上编译时的Python代码不起作用

时间:2019-04-07 09:28:28

标签: python ubuntu-16.04 pyinstaller pyodbc

我有一个很大的python工具,当执行在ubuntu14.04机器上编译的二进制文件时,它可以完美地工作,但是在16.04上编译时,该工具不起作用,当我尝试执行代码时,它给了我类似下面的sql异常要执行python的pyodbc模块cursor.fetchall(),请注意,我在16.04机器上安装了所有odbc和free_tds驱动程序,其配置与14.04机器上的配置相同,并且在这两者上都使用了python版本14.04和16.04是2.7.9。

EXCEPTION_*****: ('HY003', u'[HY003] [FreeTDS][SQL Server]Program type out of range (0) (SQLGetData)')

我如何编译:{{1​​}}

但是,当从终端本地运行源代码时,以二进制方式执行失败的相同示例代码可以正常工作时。

在Ubuntu16.04计算机上运行时,如果遇到来自python的任何此类sql异常,谁能帮我

在Ubuntu16.04上编译后执行时给出异常的示例代码库

pyinstaller --onefile --clean

预期的结果是,当我从pyodbc模块的def main: import pyodbc connection = pyodbc.connect("DRIVER=FreeTDS;SERVER=Oil;PORT=xyz;DATABASE=xyz;UID=abc;PWD=abcpassword;WSID=xyz;APP=xyz;TDS_VERSION=8.0", autocommit=True) cursor=connection.cursor() q="select top 10 * from xyztable" execute = cursor.execute(q) results=cursor.fetchall() print results 运行任何SQL查询时,我应该能够得到结果

0 个答案:

没有答案