有没有办法通过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}")
我得到了同样的错误。
答案 0 :(得分:1)
看起来您使用的是64位ODBC的32位驱动程序,反之亦然。
答案 1 :(得分:0)
这段代码对我有用:
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。