从FIleMaker Pro Server导出XML

时间:2011-11-20 05:58:17

标签: filemaker

FileMaker Pro 10服务器:Mac OS X Server 10.4.11
DAtA服务器:Windows Server 2008

将XML从Mac上的FileMaker Pro客户端导出到DATA Server时,我遇到了跨平台问题。

我的FileMaker Pro服务器托管在Mac OS X上,我需要用户将他们的数据导出到托管在Windows Server上的DATA服务器。我在FileMaker表单中创建了一个按钮(函数/脚本),供用户在完成作业后导出数据。 PC上的FileMaker Pro客户端运行良好,但它不能在MAC上运行。我已经尝试了我能想到的每个组合的位置路径,如http://www.filemaker.com/11help/html/create_db.8.32.html#1030283

所述

任何想法?
感谢

1 个答案:

答案 0 :(得分:1)

FileMaker客户端在与FileMaker Server不同的操作系统权限下运行。客户端具有与当前用户相同的权限,而服务器以fmserver:fmsadmin运行,并且只能访问/Library/FileMaker Server中自己的目录树。

尝试编写单独的服务器脚本并导出到以下文件中:

"filemac:" & Get( DocumentsPath ) & "myfile.xml"

这应该将文件导出到/Library/FileMaker Server/Data/Documents。如果这样可行,那么脚本就可以了,您只需要解决权限问题。我认为有两种方法可以尝试:

  1. 尝试为目标文件夹赋予FileMaker正确的权限。我不太清楚这一点 将适用于Windows文件夹。但如果它有效,那么路径将是这样的:

    • 在Mac上,所有FileMaker路径虚拟均在/Volumes开始。
    • 您使用平台前缀filemac:启动路径。
    • E.g。指向您要写的磁盘/my/path上的My Disk

      filemac:/My Disk/my/path
      
  2. 导出到Documents文件夹并重写计划以运行shell脚本 这个。为此shell脚本提供另一个权限集,并让它将文件移动到 所需的目录。

  3. 更新:要在客户端启动进程并让它将文件保存在服务器上,您需要以某种方式告诉服务器它需要保存的文件。我建议这样的事情:

    • 使用容器字段创建“文件”表。设置一个服务器脚本,例如每五分钟运行一次,检查此表中是否有新记录,使用导出字段内容脚本步骤导出每个记录,并删除记录。 (或者将其标记为已完成并使用引用替换存储的文件;适合您的任何内容。)
    • 或者执行相同的操作,但不是运行服务器脚本,而是在每五分钟运行脚本的同一台计算机上安装FileMaker客户端。这个更容易调试,它可以将文件移动到其他地方。
    • 或者与第一次相同,但不是等待使用导入XML 脚本步骤将GET请求发送到触发脚本的服务器。请求将是这样的:

      server/fmi/xml/FMPXMLRESULT.xml&-db=MyDB&-lay=MyLay&-script=MyScript&-findany
      

      这应立即触发脚本。我不记得确切的语法,并且会出现身份验证问题,因此请查看CWP网站发布指南。

    • 或者执行相同操作(“文件”表中的记录或直接GET请求),但让服务器生成文件。