pyodbc
을 사용하여 데이터베이스 연결을 관리합니다. 내가 OSI PI 데이터베이스에 연결이 오류 수신을 시도하고있다 : Looks like pyodbc is written against ODBC 3.x. The OSI PI ODBC driver is using ODBC 2.0. The python ODBC driver manager will convert most ODBC 3 calls on the fly to ODBC 2 ones. Anything added to 3, however, will obviously fail. You would need to find some way to make sure that your only using 2.0 compliant ODBC calls. Currently their is not a PI ODBC driver that is compliant with ODBC 3.0.
어떻게 OSI PI에 파이썬 2.6을 연결할 수 있습니까?
내 코드가 난으로 매우 간단하다 : 공급 업체에 이야기 한 후
pyodbc.Error: ('IM002', "[IM002] [OSI][PI ODBC][PI]PI-API Error <pilg_getdefserverinfo> 0 (0) (SQLDriverConnectW); [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr). (0)")
을,이 반응을 얻었다 그냥이 시점에서 연결을 시도 :
import pyodbc
constr = 'DRIVER={PI-ODBC};SERVER=myserver;UID=MY_UID'
pyodbc.pooling=False
conn = pyodbc.connect(constr) # Error at this line
conn.close()
누군가가 파이썬을 OSI PI에 연결 했습니까? 그렇다면 어떻게 그랬습니까? 그렇지 않고 OSI 데이터베이스에서 여전히 데이터를 사용했다면 어떻게 그 데이터에 액세스 했습니까?
'R'' RODBC' 패키지를 사용하여 PIODBC에 연결하는 데 문제가있었습니다. 증상은 모든 쿼리가 0 행을 반환한다는 것이 었습니다. 해결책은'RODBC'가 한 번에 하나의 행 ('rows_at_time = 1')을 가져오고 ('believeNRows = FALSE') PI ODBC 드라이버가 행 수를 엉망으로 만들었 기 때문입니다. http://stackoverflow.com/q/7425100/176995 –