将 Python 连接到 SAGE 100 MAS 90 4.0 ODBC 驱动程序

Connect Python to SAGE 100 MAS 90 4.0 ODBC Driver

有没有办法通过 python 将 SAGE 100 与 MAS 90 4.0 ODBC 驱动程序 (PVXODBC.DLL) 连接起来?我曾尝试使用 pyodbc,但遇到了错误。我已经在 windows 中使用正确的凭据设置了 DSN 名称。我正在使用 DSN 通过 pentaho(一个 etl 工具)连接到数据库并且它有效。

pyodbc.connect("DSN=DSN_NAME")

Error: ('IM014', '[IM014] [Microsoft][ODBC Driver Manager] The specified DSN
contains an architecture mismatch between the Driver and Application (0)
(SQLDriverConnect)')

我也试过这个:

pyodbc.connect("DSN=DSN_NAME;DRIVER={MAS 90 4.0 ODBC DRIVER}")

我得到了同样的错误。

您似乎在使用 32 位驱动程序和 64 位 ODBC,反之亦然。

这段代码对我有用:

import pyodbc
serial = '100170'
cnxn = pyodbc.connect("DSN=SOTAMAS64", autocommit=True)
cursor = cnxn.cursor() 

cursor.execute("SELECT SalesOrderNo ,UDF_SERIAL_NUMBER FROM SO_SalesOrderHistoryHeader WHERE UDF_SERIAL_NUMBER = ? ORDER BY SalesOrderNo",    serial)
row = cursor.fetchone() 
if row:
    print(row) 

DSN 是使用 MAS 90 4.0 ODBC 驱动程序(64 位)设置的系统 dsn。 使用 Winpython 3.5。