首页 文章

从FIleMaker Pro Server导出XML

提问于
浏览
0

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客户端工作得很好但是它确实尝试了我能想到的每个组合的位置路径,如下所示:http://www.filemaker.com/11help/html/create_db.8.32.html#1030283

任何的想法?
谢谢

1 回答

  • 1

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

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

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

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

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

    • 在Mac上,所有FileMaker路径实际上都在 /Volumes 中开始 .

    • 使用平台前缀启动路径: filemac: .

    • 例如指向磁盘 My Disk 上的 /my/path 你会写:

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

    UPDATE :要在客户端启动进程并让它将文件保存在服务器上,您需要以某种方式告诉服务器's a file it needs to save. I' d建议这样的事情:

    • 使用容器字段创建“文件”表 . 设置一个服务器脚本,例如,每五分钟运行一次,检查此表中是否有新记录,使用 Export Field Contents 脚本步骤导出每个记录,并删除记录 . (或者将其标记为已完成并使用引用替换存储的文件;适合您的任何内容 . )

    • 或者执行相同操作,但不是运行服务器脚本,而是在每五分钟运行脚本的同一台计算机上安装FileMaker客户端 . 这个更容易调试,它可以将文件移动到其他地方 .

    • 或者与第一次相同,但不是等待使用 Import XML 脚本步骤向触发脚本的服务器发送GET请求 . 请求将是这样的:

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

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

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

相关问题