我有一个很大的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查询时,我应该能够得到结果