Syntax OLEDB语法错误-IColumnsInfo::GetColumnInfo失败
我试图通过SAS EG运行此查询,但我一直收到以下错误消息- 错误:描述错误:IColumnsInfo::GetColumnInfo失败: [DB2/AIX64]SQL0104N发现以下意外标记 1.组号,最佳。。预期的令牌可能包括:。SQLSTATE=42601 我不确定SAS想告诉我什么。我对代码做了很多调整,但我无法修复错误,甚至无法更改错误消息。谢谢你的帮助!代码如下:Syntax OLEDB语法错误-IColumnsInfo::GetColumnInfo失败,syntax,sas,oledb,Syntax,Sas,Oledb,我试图通过SAS EG运行此查询,但我一直收到以下错误消息- 错误:描述错误:IColumnsInfo::GetColumnInfo失败: [DB2/AIX64]SQL0104N发现以下意外标记 1.组号,最佳。。预期的令牌可能包括:。SQLSTATE=42601 我不确定SAS想告诉我什么。我对代码做了很多调整,但我无法修复错误,甚至无法更改错误消息。谢谢你的帮助!代码如下: proc sql; connect to OLEDB(provider=IBMDADB2 datasourc
proc sql;
connect to OLEDB(provider=IBMDADB2 datasource=OCCPR user=&papiuid password=&papipwd);
create table M1Enrollment (compress=yes) as select * from connection to OLEDB
(SELECT t1.HICN,
t1.SERVICEMONTH,
/* Group Number */
(case when t1.ENROLLMENTSOURCESYSTEM = '002' then substr(t1.MEMBERID,1,find(t1.MEMBERID,"-")-1)
when t1.ENROLLMENTSOURCESYSTEM = '007' then substr(t1.GROUPNUMBER,1,6)
when t1.ENROLLMENTSOURCESYSTEM = '001'
then PUT(INPUT(t1.GROUPNUMBER, best.), z5.) end
) AS GroupNumber
FROM TABLE.M1_PLANNEDENROLLMENT t1
WHERE t1.PBPID BETWEEN '800' AND '899' and t1.SERVICEMONTH >= 201601
and t1.SERVICEMONTH <= 201612);
disconnect from OLEDB;
quit;
无法运行代码,因为它是连接 你能试试崔斯吗
proc sql;
connect to OLEDB(provider=IBMDADB2 datasource=OCCPR user=&papiuid password=&papipwd);
create table M1Enrollment (compress=yes) as select * from connection to OLEDB
(
SELECT t1.HICN,
t1.SERVICEMONTH,
/* Group Number */
(case
when t1.ENROLLMENTSOURCESYSTEM = '002' then substr(t1.MEMBERID,1,find(t1.MEMBERID,"-")-1)
when t1.ENROLLMENTSOURCESYSTEM = '007' then substr(t1.GROUPNUMBER,1,6)
when t1.ENROLLMENTSOURCESYSTEM = '001' then PUT(INPUT(t1.GROUPNUMBER, best5.), z5.)
end) AS GroupNumber
FROM TABLE.M1_PLANNEDENROLLMENT t1
WHERE t1.PBPID BETWEEN 800 AND 899
and t1.SERVICEMONTH >= 201601
and t1.SERVICEMONTH <= 201612
);
disconnect from OLEDB;
quit;
变化最大。超过5。以及介于"800"与"899"之间至"800"与"899"之间
无法运行代码,因为它是连接 你能试试崔斯吗
proc sql;
connect to OLEDB(provider=IBMDADB2 datasource=OCCPR user=&papiuid password=&papipwd);
create table M1Enrollment (compress=yes) as select * from connection to OLEDB
(
SELECT t1.HICN,
t1.SERVICEMONTH,
/* Group Number */
(case
when t1.ENROLLMENTSOURCESYSTEM = '002' then substr(t1.MEMBERID,1,find(t1.MEMBERID,"-")-1)
when t1.ENROLLMENTSOURCESYSTEM = '007' then substr(t1.GROUPNUMBER,1,6)
when t1.ENROLLMENTSOURCESYSTEM = '001' then PUT(INPUT(t1.GROUPNUMBER, best5.), z5.)
end) AS GroupNumber
FROM TABLE.M1_PLANNEDENROLLMENT t1
WHERE t1.PBPID BETWEEN 800 AND 899
and t1.SERVICEMONTH >= 201601
and t1.SERVICEMONTH <= 201612
);
disconnect from OLEDB;
quit;
变化最大。超过5。以及介于"800"与"899"之间至"800"与"899"之间
当我这样做的时候,它会清除前面评论中的错误消息。但是,我得到了一个新的错误,即libref表未分配。这是因连接不同而不同的东西,还是有一些我应该放在这里的标准代码?我尝试将libref全部删除,这也返回了一个错误。当我这样做时,它会删除前面评论中的错误消息。但是,我得到了一个新的错误,即libref表未分配。这是因连接不同而不同的东西,还是有一些我应该放在这里的标准代码?我尝试将libref全部取出,但也返回了一个错误。