1

Teradata パススルーの外部でクエリ実行用の作業スペースに作成した SAS テーブルにアクセスしようとしています。今、それは私にエラーを与えます。私の質問は、パススルー内のテラデータにないテーブルにアクセスする方法です

proc sql;
    connect to teradata (user="&user_id.@LDAP" password="&TERADATA_PASS" server='ABC' 
connection=global database="GTY");
    select * from connection to teradata(
    select * from mm)
;
quit;

mmは teradata にはありませんが、作業ディレクトリに作成されています。

4

1 に答える 1

1

おそらく、パススルーで直接アクセスすることはできません。Teradata へのアクセスを使用してクエリを実行するかlibname、パススルー クエリに含めることができるマクロ変数またはテキスト ファイルに必要な情報を入力する必要があります。パススルーでは、インタラクティブな Teradata セッションでアクセスできるものにのみアクセスできます。そのため、SAS を ODBC または Teradata のプロバイダーとして定義していない限り、それはできません。

通常、この場合、最初にアクセスを介してプロセス全体を実行しようとしlibname、それが失敗した場合 (実行時間またはストアド プロシージャなどのパススルーのみの要素が必要なため)、libnameアクセスを使用してテーブルをロードします。 RDBMS 内のテーブル (ここでは Teradata) に。その後、パススルー セッションで (ネイティブの Teradata テーブルとして) 使用できるようになります。

于 2013-11-21T21:58:36.140 に答える