数据控制文件传输
本文关键字:传输 文件 控制 数据 | 更新日期: 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类型的链接以下载文件。