我有一个名为 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] '' is not a valid name。确保它不包含无效字符或标点符号,并且不要太长。
谁能告诉我应该如何将宏变量传递给查询?谢谢。