数据控制文件传输

本文关键字:传输 文件 控制 数据 | 更新日期: 2023-09-27 18:11:34

使用COM Data Control从Siebel获取附件

SiebelBusObjectInterfaces.SiebelDataControl sblDataControl = new SiebelBusObjectInterfaces.SiebelDataControl();
bool success = sblDataControl.Login("host='"siebel.TCPIP.None.None://bla bla bla /EAIObjMgr_enu'"", "karephul", getPassword());
string errorCode = sblDataControl.GetLastErrCode() + " " + sblDataControl.GetLastErrText();
SiebelBusObjectInterfaces.SiebelBusObject oBO;
SiebelBusObjectInterfaces.SiebelBusComp serviceRequest;
SiebelBusObjectInterfaces.SiebelBusComp actionAttachment;
oBO = sblDataControl.GetBusObject("Action");
actionAttachment = oBO.GetBusComp("Action Attachment");
success = actionAttachment.ActivateField("Activity Id");
success = actionAttachment.ActivateField("ActivityFileName");
success = actionAttachment.ClearToQuery();
success = actionAttachment.SetSearchSpec("Activity Id", "3-QOUKDD"); // hard code for now.
success = actionAttachment.SetSearchSpec("ActivityFileExt", "txt");
success = actionAttachment.ExecuteQuery(1); // ForwardOnly = 1, I guess;
if (actionAttachment.FirstRecord())
{
  string fileName = actionAttachment.GetFieldValue("ActivityFileName");
  string fileLoc = actionAttachment.InvokeMethod("GetFile", "ActivityFileName");
}

下面这段代码获得适当的文件,并将其保存在服务器的临时文件夹中,并给我完全限定的路径。

string fileLoc = actionAttachment.InvokeMethod("GetFile", "ActivityFileName");

有没有办法把文件放到我的本地机器上?

背景:

这段代码是用c#写的,我们在客户端运行这段代码,它不能访问服务器的临时目录。

谢谢Karephul

数据控制文件传输

由于您是通过数据控件连接到http,因此这相当于连接到瘦客户机。如果您通过专用客户端连接,则可以将文件直接保存到系统中。

以上3种方法都可以,但如果附件大小不成问题,我建议你可以通过电子邮件发送文件。

在与一些从事Siebel工作的人交谈后,我发现使用COM API我无法将文件获取到本地机器。

选项:
1. 将临时文件夹设置为公共文件夹并获取该文件。
2. 要求您的Siebel团队公开一个web服务来获取该文件。
3.请您的Siebel团队提供REST类型的链接以下载文件。