0
我收到以下消息,但无法找到问题所在。 我需要帮助审查我的代码。SSMS:Oracle错误消息:缺少表达
错误味精:
OLE DB提供程序 “OraOLEDB.Oracle” 链接服务器 “S” 返回消息 “ORA-00936:缺少表达式”。 Msg 7321,Level 16,State 2,Line 1
SELECT *
FROM OPENQUERY(S,
'select
d.Pay_Period_ID,
d.Start_Date,
d.End-Date,
l.LABORLEV2NM "Wrk Labor Acct",
l.LABORLEV2dsc "Wrk Cost Center",
l.LABORLEV2NM "Home Acct",
a.personnum ID,
A.LASTNM,
CASE WHEN INSTR(A.FIRSTNM,'''') > 0 THEN TRIM(SUBSTR(A.FIRSTNM,1,INSTR(A.FIRSTNM,''''))) ELSE A.FIRSTNM END firstnm,
a.PERSONFULLNAME "EmployeeName",
l.LABORLEV3NM "Job Desc",
bu.EXTERNAL_KEY "BU",
k.fte "FTE",
''Productive'' "Type",
p.name "PayCode",
to_char(last_day(add_months(w.adjAPPLYDTM,-1))+1, ''MM/DD/YYYY'') "Month",
sum(w.DURATIONSECSQTY/60/60) "Hours",
d.hourly_rate "Fixed Hrly",
'''' "Dollars",
CASE WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''350'' THEN ''HMC''
WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''351'' THEN ''HHH''
WHEN SUBSTR(l.LABORLEV2NM,1,3) = ''352'' THEN ''KAU''
END AS "Facility - Worked",
SUBSTR(l.LABORLEV2NM,4,4) "Worked Dept GL",
'''' "EMT",
CONCAT(''FY'',to_char(add_months(w.adjAPPLYDTM, 8), ''YY'')) "FY"
--to_char(add_months(w.adjAPPLYDTM, 8), ''YY'') fiscal_year
from a, w, p, l, c, bu, k, d, b
where
w.paycodeid = p.paycodeid
and w.laboracctid = l.laboracctid
and c.Job_ID = b.Job_ID
and c.position_number = b.postion_number
and c.WFC_EMPLOYEE_ID = w.Employeeid
and b.payroll_id = d.payroll_id
and b.pay
and c.bu_id = bu.bu_id
and c.job_id = k.job_id
and d.llid = l.laboracctid
and a.personnum not like ''999%''
and a.personnum not like ''987%''
and w.employeeid = a.personid
and a.homelaborlevelnm1 in (''350'', ''351'', ''352'')
and w.ADJAPPLYDTM >= TO_DATE(''08/01/2017'', ''MM/DD/YYYY'')
and w.ADJAPPLYDTM < TO_DATE(''09/01/2017'', ''MM/DD/YYYY'')
and p.name like ''CT%Earned%''
') AS CT_Table
我确实在'c' – sniperd
附近看到了2个逗号。谢谢。我添加了'bu'表 – cmpmd2
尝试制作_really_简单的SELECT * FROM表语句并展开,直到出现错误。我在顶部看到链接服务器'S',这将是确保链接服务器实际安装正确且问题不在查询本身中的好方法。 – sniperd