2011-11-20 76 views
0

的FileMaker Pro 10服務器:Mac OS X服務器10.4.11
數據服務器:在Windows Server 2008導出XML

我有問題的跨平臺的問題從的FileMaker Pro客戶端在Mac上導出XML時到數據服務器。

我的FileMaker Pro服務器託管在Mac OS X和我需要用戶將他們的數據導出到這是一個在Windows服務器上託管數據服務器。我在FileMaker表單中創建了一個按鈕(函數/腳本),供用戶在完成作業後導出數據。 PC上的FileMaker Pro客戶端可以很好地工作,但它不適用於MAC。我已經試過各種組合作爲證明我能爲位置路徑想到:http://www.filemaker.com/11help/html/create_db.8.32.html#1030283

任何想法?
感謝

回答

1

的FileMaker客戶端下比的FileMaker服務器不同的操作系統權限運行。客戶端具有與當前用戶相同的權限,而服務器運行爲fmserver:fmsadmin,並且只能在/Library/FileMaker Server中訪問其自己的目錄樹。

試着寫一個單獨的服務器腳本,並出口到以下文件:

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

這應該將文件導出到/Library/FileMaker Server/Data/Documents。如果這有效,那麼腳本就可以,你只需要解決權限問題。我認爲有兩條途徑可以嘗試:

  1. 嘗試爲FileMaker提供目標文件夾的正確權限。我不太確定這個 適用於Windows文件夾。但是,如果它的工作,那麼路徑是這樣的:

    • 在Mac上所有的FileMaker路徑幾乎/Volumes開始。
    • 您使用平臺前綴:filemac:開始路徑。
    • 例如指向/my/path磁盤My Disk你會寫:

      filemac:/My Disk/my/path 
      
  2. 出口到Documents文件夾和 這個改寫後的日程表運行shell腳本。給這個shell腳本設置另一個權限集並讓它移動到 所需的目錄。

UPDATE:爲了啓動對客戶端的進程,並將它保存你需要以某種方式告訴大家,有需要將文件保存在服務器上服務器的文件。我建議這樣的事情:

  • 創建一個帶有容器字段的「文件」表。設置一個服務器腳本,例如每五分鐘運行一次,檢查此表中是否有新記錄,使用腳本步驟導出每個記錄並刪除記錄。 (或將其標記爲已完成,並用參考替換已存儲的文件;無論適合您。)
  • 或者也可以這樣做,但不是運行服務器腳本,而是在每五分鐘運行腳本的同一臺計算機上安裝FileMaker客戶端。這個更容易調試,並且可以將文件移動到別處。
  • 或者第一次做同樣的事情,而不是等待使用導入XML腳本步驟向發送觸發腳本的服務器發送GET請求。請求將如下所示:

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

    這應該立即觸發腳本。我不記得確切的語法,並且會有認證問題,所以請檢查CWP網絡發佈指南。

  • 或者執行相同的操作(「File」表中的記錄或直接的GET請求),但讓服務器生成文件。
+0

我忘了一個很重要的流程。當用戶單擊「導出」時,應在FileMaker服務器上生成xml或駐留在FileMaker服務器上的中央文件夾中。 – Jeno

+0

我沒有多讀幾本書。看起來我需要自定義Web發佈或即時Web發佈模塊? – Jeno

+0

讓我們重申。 「用戶單擊按鈕」意味着該過程由用戶在FileMaker客戶端(Pro或Advanced)中啓動。該過程必須生成一個XML文件。該文件必須位於運行FileMaker Server的計算機上的文件夾中。它是否正確?其他DATA服務器在該方案中做了什麼?它仍然是必要的嗎? –