2014-02-25 49 views
4

我安裝了64位SAS 9.4和32位Office 2007.當我安裝了32位SAS 9.3時,我能夠使用一個libname語句,其中的Excel文件是該庫和在該時間段之後的「文件名」實際上是Excel文件中的工作表或命名範圍。例如,你開始用LIBNAME語句使用64位SAS中的libname語句與32位Excel交互

libname exceltst path="C:\Users\username\Documents\test.xlsx"; 

而且,再後來你可以引用一個命名範圍這跟exceltst.stuff,認爲「東西」是一個命名的範圍。

那麼,這仍然是可能的嗎?我猜測它與64位sas和32位excel有關,但我想知道是否有一些變化仍然有效。我能夠使用proc導出導出到excel文件,它工作得很好,但我已經嘗試了20種libname的變體,並且無法使其工作。我得到的錯誤是:

ERROR: Connect: Class not registered 
ERROR: Error in the LIBNAME statement. 

回答

3

如果您可以安裝,您仍然可以通過PCFILES目的地執行此操作。安裝PC Files Server軟件不在這裏的答案範圍,但谷歌有關說明,他們隨時可用。如果您的工作場所更方便,您可以在桌面或中央服務器上安裝PC文件服務器。

一旦你安裝了它,你只需訪問:

libname mylib pcfiles path="blah\blah\blah.xlsx"; 

就像以前那樣,但有一個不同的DBMS類型。

2

問題是您需要64位SAS庫與64位SAS進行交互。

Chris Hemedinger幾年前發佈了一些解決此問題的方法。 http://blogs.sas.com/content/sasdummy/2012/05/01/64-bit-gotchas/

如果您有ACCESS/ODBC,另一種選擇是創建一個到Excel電子表格的ODBC連接。

+2

Dom - 該鏈接非常有幫助,但請添加一些關於變通方案的具體說明,以便答案是獨立的。 – Joe

3

對於SAS 9.4或更高版本9.3更新,您有另一種選擇:dbms=XLSXdbms=XLS,無論辦公室位數(因爲他們沒有使用JET引擎或ACE引擎)都可以工作。仍然需要訪問PC FILES,但它們應該在混合位系統中工作。