Python 2.7 32 ビット (残念ながら Primavera の SDK は 32 ビットでのみ使用可能) を使用し、comtypesモジュールを使用して、Windows 10 64 ビットでPrimavera Software development Kitとの接続を作成しようとしています。
私のコードの効果的な部分は
#Needed Imports
import sys
import os
import comtypes.client
from comtypes.client import CreateObject
#Create the ADO Object, then connect to Primavera's Database,
#supplying the "ConnectionString" as an argument to the method "Open".
SDK = CreateObject('ADODB.Connection')
SDK.Open("DRIVER={Primavera Software Development Kit};DSN=PMSDK;UID=pubuser;PWD=pubuser")
エラーは次の行にあります
SDK.Open("DRIVER={Primavera Software Development Kit};DSN=PMSDK;UID=pubuser;PWD=pubuser")
SDK はこれらのイメージに示すように 32 ビット ODBC ツールで設定されますが:
PMSDK という名前のデータ ソースとして追加された SDK
しかし、 ConnectionStringで何をしても、常にこのエラーに直面します
COMError: (-2147467259, 'Unspecified error', (u'[ATI][OpenRDA ODBC]General error - Database keyword not present in the connect string', u'Microsoft OLE DB Provider for ODBC Drivers', None, 0, None))
Python に Primavera のソフトウェア開発キットを認識させるにはどうすればよいでしょうか?!
編集
ConnectionStringをDRIVER={Primavera Software Development Kit};DSN=PMSDK;DATABASE=C:\Oracle\Primavera P6\PMSDK\Drivers;UID=pubuser;PWD=pubuser
または に変更すると、DRIVER={Primavera Software Development Kit};SERVER=127.0.01;DSN=PMSDK;DATABASE=C:\Oracle\Primavera P6\PMSDK\Drivers;UID=pubuser;PWD=pubuser
このエラーが発生します
COMError: (-2147467259, 'Unspecified error', (u'[ATI][OpenRDA ODBC]RDA error: Resource unknown - Database Name:C:\\Oracle\\Primavera P6\\PMSDK\\Drivers is not valid on Server.', u'Microsoft OLE DB Provider for ODBC Drivers', None, 0, None))