【发布时间】:2016-05-24 09:33:51
【问题描述】:
我想使用 SQL 过程将数据从 SQL 拉到 SAS EG。
但是一个参数(INVNO)的值是TN/2015-16/0005-13,即特殊字符。
这导致错误:
错误:CLI 准备错误:[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行:'/' 附近的语法不正确。 SQL语句:执行SAS_INV_RPT AMRUTFAC, SDAB, 1, TN05/000023/14-15, TN05/000024/14-15。
任何人都可以为此想出一个解决方法吗?
PROC SQL;
CONNECT TO ODBC (DSN='AHCLOD' uid=&uid pwd=&pwd);
CREATE TABLE sas_inv_rpt AS
SELECT * FROM connection to ODBC (
execute SAS_INV_RPT
&COMPANY_CODE,
&LOCATION_CODE,
&LANG_ID,
&INVNO_min,
&INVNO_max);
DISCONNECT FROM ODBC;
QUIT;
我也可以使用 INVNO_min 和 INVNO_max 提示的文本值范围
【问题讨论】:
-
如果您可以展示哪些语法适用于您的 SQL 语句以及您的 SAS 宏变量具有什么值,也许有人可以帮助您将宏变量值转换为您需要的语法。
-
您的帖子中有几个问题,如果您一次专注于一个问题,您更有可能获得帮助。此外,正如@Tom 指出的那样,您的代码中有很多我们看不到的东西——例如宏变量。尝试为具有相同设置的人制作一个可重现的示例。
标签: sql database stored-procedures sas