У меня есть большой инструмент python, который отлично работает, когда исполняется двоичный файл, скомпилированный на машине с ubuntu14.04, но тот же инструмент не работает при компиляции 16.04, и он дает мне исключения SQL, как показано ниже, когда мой код пытаетсячтобы выполнить cursor.fetchall()
модуля pyodbc python, обратите внимание, что у меня есть все драйверы odbc и free_tds на моей машине 16.04 с той же конфигурацией, что и на моей машине 14.04, и версией python, которую я использую как на 14.04, так и на16.04 - это 2.7.9.
EXCEPTION_*****: ('HY003', u'[HY003] [FreeTDS][SQL Server]Program type out of range (0) (SQLGetData)')
Как я компилирую: pyinstaller --onefile --clean
Но когда тот же пример кода, который не был выполнен при выполнении в виде двоичного кода, работает нормально при запуске исходного кодалокально из терминала.
Может кто-нибудь мне помочь, если они сталкиваются с любыми такими исключениями sql из python при запуске на машинах с Ubuntu16.04
Пример базы кода, которая выдает исключение при выполнении после компиляции на Ubuntu16.04
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-запрос из cursor.fetchall()
модуля pyodbc