fileName というマクロ変数があります。ODBC経由でAccessデータベースに接続するproc sqlで使用しようとしました。ただし、コードにエラーがあるか、マクロ変数を認識していません。
これが私のコードです:
%let fileName=MYFILE.NAME
proc sql;
connect to odbc ("DSN=MS Access Database;"||
"DBQ=&dbname;"||
"FIL=MS Access;" ||
"MaxBufferSize=512;" ||
"PageTimeout=600;" ||
"UID=admin");
create table t1 as
select * from connection to odbc
(SELECT * FROM tableA
where FileName='&fileName');
quit;
これは 0 行を返します。クエリでマクロ変数を実際の値に置き換えると、正しいデータを含む 1 行が返されます。
&fileName を二重引用符で囲むと、次のエラーが表示されます: エラー: CLI 記述エラー: [Microsoft][ODBC Microsoft Access Driver] '' は有効な名前ではありません。無効な文字や句読点が含まれていないこと、および長すぎないことを確認してください。
マクロ変数をクエリに渡す方法を教えてください。ありがとう。