#python #ubuntu-16.04 #pyinstaller #pyodbc
#python #ubuntu-16.04 #pyinstaller #pyodbc
Вопрос:
У меня есть большой инструмент 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