2016-11-14 2 views
0

SASのxコマンドを使用してPostgreSQLのテーブルをcsvファイルにコピーする方法はありますか? SASに私にこれをさせる別のコマンドがありますか?今私は手動でpsqlコマンドラインを実行し、結果のCSVファイルをSASにインポートする必要があります。 SASでこのコマンドを実行したいので、マクロの一部として実行できます。PostgreSQLのSASへのテーブルとバック

+0

SAS/ACCESSライセンス、特にODBCやOLEDBなどがありますか?もちろんSAS/ACCESS to POSTGRESQL ... http://support.sas.com/documentation/cdl/en/acreldb/69039/HTML/default/viewer.htm#titlepage.htm – Joe

+0

私たちはパートナーシップを結んでいますしかし、私たち自身のパートナーはそうではないかもしれません。特に、他の企業では私たちの製品にアクセスすることを望んでいますが、それはpostgreSQL/pythonに書かれています。私たちは、PythonスクリプティングBTWをサポートしていません。 –

+0

これは、常にDOSの行で必要なコマンドを見つけることの問題です。いったんそれがあれば、SASを使ってコマンドを実行するのは簡単です。したがって、コマンドラインを理解することは、PSQLツールを見て、SASがサポートしているものではなく、サポートしているものを見ています。 – Reeza

答えて

0

コマンドラインの一部を二重引用符で区切って別の変数に保存し、一重引用符を使用しないでxコマンド内で連結することを検討してください。他の言語から来た場合は、任意の値を引用符で囲むされていないとして、この変数の割り当ては少し奇妙なようだが、それはSASに有効です。

%let sql = SELECT * FROM "FoundationLayer".location_hierarchy ORDER BY id ASC; 

options xwait; 
x psql -d kyle -tA -c \copy (&sql) to test.csv CSV HEADER; 
run; 
また

は、PostgreSQLのための二重引用符の使用を避けることを検討しますほとんどの言語で二重引用符をエスケープする必要があるため、アプリケーションコードを妨害する傾向があるため、このような制御がある場合はテーブルが必要です。

Postgresでは、私はOracleと考えています。二重引用符は、そのようなものから逸脱したものがfoundationlayerのようなエラーの原因となります。

キーワードと引用符で囲まれていない識別子は大文字と小文字を区別しない:しかし、あなたはもともとすべて小文字でテーブルを作成していた、あなたはPostgres docs言及としてエラーまたは二重引用符を必要とせずにFoundationLayerを呼び出すことができます。

関連する問題