Filemaker Pro 9 (Mac):如何让它处理绝对路径?

发布于 2024-09-02 00:15:25 字数 471 浏览 5 评论 0原文

我的安装中,FM Pro 9 客户端从 FM Server 9 打开解决方案。

然后,该解决方案需要从客户端访问网络共享上的文件。到目前为止,网络共享是通过 AFP 挂载的,但基础设施发生变化,需要将其切换到静态 NFS 挂载。

它们的引导卷可能具有不同的名称,但它们都在“真实”安装树中的同一安装点(从 UNIX 根目录 / 开始)安装 NFS 共享。

根据 http://www.filemaker.com/help/html/ create_db.8.32.html#1030283 看起来没有办法只使用完整路径而没有卷名,就像 Mac OS 经典一样 - 有什么方法可以解决这个问题吗?

升级到较新的 FileMaker 并不是一个受欢迎的解决方案。

I have an installation where FM Pro 9 clients open a solution from an FM Server 9.

This solution then needs to access files on a network share from the clients. So far, the network share was mounted with AFP, but an infrastructure change required it to be switched to static NFS mounts.

Their boot Volumes may have different names, but they all mount an NFS share at the same mount point in the "real" mount tree (starting from the UNIX root dir, /).

According to http://www.filemaker.com/help/html/create_db.8.32.html#1030283 it looks like there is no way to just use a full path without having a volume name as if this was Mac OS classic - is there some way to work around this?

Upgrading to a newer FileMaker is not a sought solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

っ〆星空下的拥抱 2024-09-09 00:15:25

如果你够聪明的话,你可以找到默认的卷名。以下代码(您可以在脚本或自定义函数中使用)将允许您为所需的文件设置变量。

Let([
    desktop_path = Get(DesktopPath);
    second_slash = Position (desktop_path ; "/" ; 1 ; 2 );
    volume = Middle(desktop_path; 2; second_slash - 2)
];
"filemac:/" & volume & "/path_to_share/file.xls"
)

在我的机器上,我的启动卷是“Macbook Pro HD”。调用这段代码的结果返回:

filemac:/Macbook Pro HD/path_to_share/file.xls

这允许我访问该文件。

如果由于某种原因 DesktopPath 不在启动卷上,则以下 Get 函数可能会有用:

Get(DocumentsPath) -- returns the path to the users Documents folder  
Get(FileMakerPath) -- returns the path to the folder of the currently 
                      running version of FileMaker

You can find the default volume name if you're clever. The following code (which you could use in a script or custom function) would allow you to set a variable to the file you needed.

Let([
    desktop_path = Get(DesktopPath);
    second_slash = Position (desktop_path ; "/" ; 1 ; 2 );
    volume = Middle(desktop_path; 2; second_slash - 2)
];
"filemac:/" & volume & "/path_to_share/file.xls"
)

On my machine, my boot volume is "Macbook Pro HD". The result of calling this bit of code returns:

filemac:/Macbook Pro HD/path_to_share/file.xls

Which allows me to access that file.

If for some reason the DesktopPath isn't on the boot volume, the following Get functions may come in useful:

Get(DocumentsPath) -- returns the path to the users Documents folder  
Get(FileMakerPath) -- returns the path to the folder of the currently 
                      running version of FileMaker
幽蝶幻影 2024-09-09 00:15:25

所有 FileMaker 文件引用均默默地从 /Volumes 开始,这就是它们包含卷名称的原因。要访问不同卷 X 上的文件,请使引用看起来像 filemac:/X/directoryName/fileName

All FileMaker file references silently start in /Volumes, this is why they include a volume name. To access a file on a different volume X make the reference look like filemac:/X/directoryName/fileName.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文