我被要求探索可以访问 Siebel COM 界面的各种方法,以便评估最佳解决方案。
到目前为止,我们已经能够通过Excel(VBA)和PHP访问COM接口,现在我需要探索是否可以在Python中使用它。从我最初的研究中我知道python确实提供了使用win32 api访问DLL的功能,但没有全面的教程可以让我入门。
在我们用于excel和php的代码片段下面。
Excel代码段
Private Function CreateConn(strConnect As String, strEnterprise As String, strPort As String, strPass As String) As Boolean
Dim errCode As Integer
Dim errText As String
Dim SiebelApp As SiebelDataControl
Set SiebelApp = CreateObject("SiebelDataControl.SiebelDataControl.1")
CreateConn = True
SiebelApp.Login "host=""siebel://" & strConnect & ":" & strPort & "/" & strEnterprise & "/EAIObjMgr_enu""", _
"sadmin", strPass
errCode = SiebelApp.GetLastErrCode()
If errCode <> 0 Then
errText = SiebelApp.GetLastErrText
CreateConn = False
Exit Function
PHP代码段
<?php
function CreateConn($strConnect, $strEnterprise, $strPort, $strPass) {
global $errText;
$SiebelApplication = new COM('SiebelDataControl.SiebelDataControl.1') or die("Unable to instantiate SiebelDataControl");
$ConnStr = "host=\"siebel://".$strConnect.":".$strPort."/".$strEnterprise."/EAIObjMgr_enu\"";
$SiebelApplication->Login($ConnStr, "sadmin", $strPass);
$errCode = $SiebelApplication->GetLastErrCode();
if ($errCode != 0) {
$errText = $SiebelApplication->GetLastErrText();
return false;
} else {
return true;
}
}
?>
有人可以通过 python 的示例代码段来帮助我完成同样的事情,即创建连接吗? 感谢
答案 0 :(得分:1)
要了解更多信息,您可以参考Python Programming on Win32
首先,您可以尝试使用代码段
import win32com.client
oSiebelApp = win32com.client.Dispatch("SiebelDataControl.SiebelDataControl.1")
oSiebelApp.Login("Connection String")