电信运营商系统管理

有没有人碰到过这种问题?

麻烦问下,生产上碰到一个问题。AIX6.1系统,应用程序里面对文件1写记录。同时往文件2里面写交易日志。结果文件内容有一行篡位了,就是原本该写在文件2中的一行交易日志写到文件1中去的。文件1中正常每行记录为“字段1/字段2/字段3”,现在变成“字段1/字段2写到一半,然后交易日...显示全部
麻烦问下,生产上碰到一个问题。AIX6.1系统,应用程序里面对文件1写记录。同时往文件2里面写交易日志。结果文件内容有一行篡位了,就是原本该写在文件2中的一行交易日志写到文件1中去的。文件1中正常每行记录为“字段1/字段2/字段3”,现在变成“字段1/字段2写到一半,然后交易日志记录,然后字段2的剩余一半/字段3”去了。这个问题会有可能是AIX把两个文件内容刷到磁盘时出现异常的原因吗?因为我想的是写文件1是文件中所有内容写完后,文件关闭后,操作系统把文件1的内容从内存刷到磁盘。写日志是,每写一条日志,就刷到磁盘的文件2中去的。有没有人碰到过这种问题收起
参与11

查看其它 6 个回答c6523004的回答

c6523004c6523004系统工程师电信
代码如下
int iFlag=1;/*写入记录条数*/
fp = fopen(sWjm_Ysqwjmc, "w");
EXEC SQL DECLARE test_cur for select语句
EXEC SQL open test_cur
while (1)
{
        EXEC SQL fetch test_cur;
        if(错误)
        {
                报错退出;
        }
        else if(记录未找到)
        {
                if(iFlag == 1)
                {
                        打日志"无数据,不生成文件";
                }
                else
                {
                        打日志“文件生成成功”;
                }
        }
        else
        {
                fprintf(fp,记录内容);
        }
}
电信运营商 · 2015-08-04
浏览1505

回答者

c6523004
系统工程师电信
擅长领域: AIX服务器Unix

c6523004 最近回答过的问题

回答状态

  • 发布时间:2015-08-04
  • 关注会员:1 人
  • 回答浏览:1505
  • X社区推广