【问题标题】:Siebel COM Interface - PHPSiebel COM 接口 - PHP
【发布时间】:2012-08-20 09:25:07
【问题描述】:

我可以访问我的系统上名为 sstchca.dll 的 DLL,它提供了访问 Siebel 业务层的功能。我能够在 Excel 中引用 DLL 并编写 VBA 程序来执行功能。这是执行连接的示例 VBA 代码:

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 中访问相同 COM 接口的可行性,但我不知道从哪里开始?

谁能帮我一些在 PHP 中建立 COM 连接的示例代码,保持上述 VBA 代码为基础,或者为我指出正确的方向以获得一些 PHP COM 的好示例?

【问题讨论】:

    标签: php com siebel


    【解决方案1】:

    我尝试将您的 VBA 代码转换为 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;
        }
    }
    
    ?>
    

    我的系统上没有安装 Siebel 软件,所以我不能说这段代码是否真的有效,但我希望它可以作为一个起点。

    【讨论】:

    • 谢谢.. 这是一个非常好的起点。让我试试看是否有效
    猜你喜欢
    • 1970-01-01
    • 2014-06-28
    • 2011-02-19
    • 2010-11-22
    • 2011-02-07
    • 2012-07-06
    • 2011-12-09
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多