我可以在我的系统上访问名为sstchca.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提供一些好的例子?
发布于 2012-08-25 04:27:35
我尝试将您的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软件没有安装在我的系统上,所以我不能说这段代码是否真的可以工作,但我希望它可以作为一个起点。
https://stackoverflow.com/questions/12115745
复制相似问题