Benutzer-Werkzeuge

Webseiten-Werkzeuge


prod:oracle_primavera_sdk

SDK Oracle Primavera

Mit dem SDK kann zum Beispiel direkt mit ODBC aus Excel auf die Primavera Datenbank zugegriffen werden.

Installation

Bei der Installation des PPM Desktops explicit das Software Development Kit auswählen, kann auch nachträglich erfolgen (Option „Change“ im Installer).

 SDK bei der PPM Installation anwählen

Im Client Installationsverzeichnis unter .\PMSDK\ liegen die Dokumentation (p6_pro_sdk.chm) und die Treiber.

Nach der Software Installation muss der ODBC Treiber eingerichtet werden:

 ODBC Treiber einrichten

Eigenschaften des ODBC Treibers einrichten: Eigenschaften des Treibers einrichten

Bei Bedarf die Log Einstellung auf „verbose“ setzen um die Verbindung zu debuggen.

Support Nodes:

  • How to install the Oracle Primavera P6 Release 8 (R8) Software Development Kit (SDK) [VIDEO] [ID 1314957.1]
  • Which Excel Utilities Are Available For Use With The Primavera Software Development Kit (SDK) [ID 895537.1]

Entwicklung

Für die Verwendung des SDK's unter der Windows Powershell muss diese für XP zuvor installiert werden ( Download über Windows PowerShell 2.0 and WinRM 2.0 for XP )

Beispiel für die Verwendung in der Powershell:

# Refrenz auf das ODBC Object
$ODBCConnect=New-Object System.Data.Odbc.OdbcConnection
 
#DNS für die ODBC Verbindung mit der Primavera SDK
 
$DSN="DSN=Primavera P6 SDK;UID=admin;PWD=xxxxxxx;"
 
#DNS setzen
 
$ODBCConnect.ConnectionString=$DSN
 
#Verbindung öffnen
 
$ODBCConnect.Open()
 
#SQL Statement
 
$sql="select PROJ_ID,PROJ_SHORT_NAME from project"
 
# Kommando ausführung vorbereiten
$command=New-Object System.Data.Odbc.OdbcCommand
$command.Connection=$ODBCConnect
$command.CommandText=$sql
 
#SQL absetzen
$resultset=$command.ExecuteReader()
 
# Anzahl der Treffer
write-host ("Info -- Found {0} Rows" -f $resultset.count)
$results=$resultset.FieldCount
write-host ("Info -- Found {0} Columns" -f $results)
 
# Kopf der Tabelle ausgeben
for ($i=0;$i -lt $results;$i++) {
	# Debug structure of the record
	Write-Host  "Position ::" $i "::" $resultset.GetName($i)"::" $resultset.GetDataTypeName($i)
}
 
# Inhalt ausgeben
while ($resultset.Read()) {
	for ($i = 0; $i -lt $results; $i++) {
		 write-host $resultset.GetName($i) "=" $resultset.GetValue($i)
	}
}
 
#Verbindung wieder schließen
$command.dispose()
$resultset.dispose()
$ODBCConnect.close()
Verbindung schließen nicht vergessen!

Beim ersten Aufruf klappt es meist, gelegentlich kommt folgende Fehlermeldung:

Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "ERROR [HZ080] [ATI][OpenRDA ODBC]RDA error: Resource not available - Connect error: da=PMSDK;
Driver=PMSDK;engine=PM;lf=d:\temp\PMSDK.LOG;lo=terse;pg=1;pp=pubuser;pu=pubuser;.
Error returned from engine: VDB.Connect; Exception=TCCustomVirtualRow.Create: Out of memory for TASKSUM row 0
Error number: 0x80004005
ERROR [01000] [Microsoft][ODBC Driver Manager] Der Treiber unterstützt nicht die Version der ODBC-Funktion, die die Anwendung benötigt (siehe SQLSetE
nvAttr)."

Ursache:

Support Nodes:

  • Primavera P6 Software Development Kit (SDK) Sample Code for Creating a Project [ID 893464.1]
  • Sample Visual Basic / ADO code to connect to the SDK [ID 914298.1]
  • How To Access The Calendar Information In The Database [ID 892559.1]

Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
prod/oracle_primavera_sdk.txt · Zuletzt geändert: 2013/03/11 14:32 von gpipperr