回复:[求助]用户归档生成的数据,能不能每天自动生成.csv文件到指定目录。

欧若拉

  • 帖子

    2
  • 精华

    1
  • 被关注

    0

论坛等级:游民

注册时间:2017-03-09

普通 普通 如何晋级?

发布于 2017-05-12 08:54:55

6楼

通过不断的测试,问题已经解决啦,回来给大家分享一下成果,首先也感谢各位:

在全局C脚本写入以下代码:

#include "apdefap.h"

int CRT3884_UAExport(void)

{

UAHCONNECT hConnect;

UAHARCHIVE hArchive;

BOOL bOK;

int iRet = 0;


bOK = uaConnect(&hConnect);

if ((bOK == FALSE) || (hConnect == NULL)){

  printf ("#E101: CRT3884_UAExport() - uaConnect failed!  error=%d\r\n", uaGetLastError());

  iRet = -101;

  return (iRet);

}


bOK = uaQueryArchiveByName(hConnect, "MyArchiv", &hArchive);

if ((bOK == FALSE) || (hArchive == NULL)){

  uaDisconnect(hConnect);

  printf ("#E201: CRT3884_UAExport() - uaQueryArchiveByName failed!  error=%d\r\n", uaGetLastError());

  iRet = -201;

  return (iRet);

}


bOK = uaArchiveSetFilter(hArchive, "ChargeName like '%charge%' and DateBegin >= '2006-01-01 00:00:00' AND DateBegin < '2007-01-01'");

if (bOK == FALSE){

  printf ("#E301: CRT3884_UAExport() - uaArchiveSetFilter failed!  error=%d\r\n", uaGetLastError());

  iRet = -301;

  return (iRet);

}


bOK = uaArchiveSetSort(hArchive, "ChargeUser , ChargeName desc");

if (bOK == FALSE){

  printf ("#E302: CRT3884_UAExport() - uaArchiveSetSort failed!  error=%d\r\n", uaGetLastError());

  iRet = -302;

}


bOK = uaArchiveOpen(hArchive);

if (bOK == FALSE){

  uaReleaseArchive(hArchive);

  uaDisconnect(hConnect);

  printf ("#E401: CRT3884_UAExport() - uaArchiveOpen failed!  error=%d\r\n", uaGetLastError());

  iRet = -401;

  return (iRet);

}


bOK = uaArchiveExport(hArchive, "p:\\tmp\\MyArchive.csv", 0, 0);

if (bOK == FALSE){

  printf ("#E501: CRT3884_UAExport() - uaArchiveExport failed!  error=%d\r\n");

  iRet = -501;

}


bOK = uaArchiveClose(hArchive);

if (bOK == FALSE){

  printf ("#E801: CRT3884_UAExport() - uaArchiveClose failed!  error=%d\r\n", uaGetLastError());

  iRet = -801;

}


bOK = uaReleaseArchive(hArchive);

if (bOK == FALSE){

  printf ("#E802: CRT3884_UAExport() - uaReleaseArchive failed!  error=%d\r\n", uaGetLastError());

  iRet = -802;

}


bOK = uaDisconnect(hConnect);

if (bOK == FALSE){

  printf ("#E803: CRT3884_UAExport() - uaDisconnect failed!  error=%d\r\n", uaGetLastError());

  iRet = -803;

}

return (iRet);


然后编译保存,设置每天早上8:00 激活一次该代码。欧啦!


精华帖版主置评:相当棒。 不过也太生硬了。 完全没有站在数据库的立场看问题。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32574条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。