2017-09-05 39 views
0

當通過電子嚮導運行SAS本地我可以成功地申報了LIBNAME如下:使用Windows的份額在LIBNAME語句與SAS

libname winlib '\\pc\folder\'; 

在使用SAS的服務器,這是不可能的,我不得不訴諸使用Copy Files任務。

對於興趣:
我相信這是因爲事實SAS服務器是UNIX,這是正確的?

我已經試過:
libname test '//pc/folder/'
libname test2 'smb://pc/folder/'

我能想到的是安裝驅動到SAS服務器中的其他選項,這是不可行的我,因爲這是特別案件。

問題:
我將如何正確申報libname\\pc\folder的SAS服務器?

的幾個注意事項:
,因爲我有連接到幾個數據塊,我不能在本地運行,我不希望使用這個PROC UPLOADDOWNLOAD

+0

這是因爲服務器不知道\\ pc \指的是什麼。網絡共享必須是唯一的,所以顯然不是每個人都可以使用\\ pc \,否則服務器會感到困惑。如果你對你的PC有管理權限,你可以在其上設置網絡共享,但我通常不會推薦它。相反,在服務器上設置網絡共享要容易得多。 – david25272

+0

@ david25272上面的目錄是指訪問Windows PC上的共享。問題在於爲我服務器上的專用份額的前景,我無法想象如果成千上萬有權訪問服務器的人都擁有自己的共享目錄。 –

回答

0

不幸的是沒有辦法以我希望的方式來做到這一點(直接在Unix環境libname語句中使用遠程路徑)。

您應該可以使用Windows SAS服務器執行此操作,並且可以使用本地Windows SAS服務器執行此操作。

這是由於Unix的工作原理,這意味着必須安裝共享。

這不適合作爲臨時方法。
我希望Unix有更直接的方式訪問遠程目錄。

話雖這麼說,或者一個可以執行下列操作之一:

  • 將數據寫入到服務器的本地目錄,甚至工作或家庭。然後將數據複製到本地目錄。 (例如,通過使用企業指南中的「複製文件」任務,或者如果您可以從本地PC訪問位置,則手動複製它們)
  • 在本地執行SAS處理並通過網絡獲取所需數據(這是不可行的如果您需要數據庫訪問,但無法在本地服務器上完成)
  • 獲取負責SAS服務器的人員以設置可從您的計算機和SAS服務器訪問的安裝。
  • 使用SAS PC文件服務器爲M $ office文件完成此操作。
  • 在本地計算機上安裝FTP服務器,並使用filenameFTP選項對其進行讀取/寫入。有關想法,請參見How do I read raw data via FTP in SAS?

感謝@Tom的建議。

+0

是的,有Windows SAS服務器。 – Quentin

1

如果您希望SAS讀取目錄,則SAS進程需要能夠看到目錄。

大多數公司所做的工作是創建一個可以由SAS機器和PC安裝的共享目錄,然後您可以直接從兩者引用文件,只需使用不同的路徑即可。

否則,如果您希望SAS使用EG可以看到的文件,但SAS不能,那麼我建議讓EG上傳文件。 EG有上傳二進制文件的自定義任務。

另一種方法是創建SAS代碼以連接到可以看到文件並將文件拖出的計算機。也許使用FTP或SFTP協議。

+0

謝謝,由於我正在使用複製文件任務,因此我並沒有真正看到您提到的方法的好處,因爲它們基本上實現了相同的功能。這些都需要寫入一個SAS本地目錄,然後將它們拉過來,除了提到的掛載共享之外。沒有辦法直接從SAS流程訪問共享。這可能是Unix問題的一半。 –

+0

沒錯。答案是修復您的網絡基礎設施,以便您可以從正在使用的計算機上查看所需的文件。 – Tom

+0

實際上,您可以通過在計算機上安裝SAS PC Files服務器來完成這項工作?不知道是否可以共享基礎引擎,但可以通過這種方式引用Excel文件。或者如果你有一個許可安裝你的PC上運行的SAS/Share並將你的Unix libref連接到這個。 – Tom