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

时间:2016-01-04 16:42:21

标签: python etl

有没有办法通过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}")

我得到了同样的错误。

2 个答案:

答案 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。