ADO错误代码:0x80040e14

2020-09-23 15:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


美好的一天,

尝试使用Database Expert中推荐的SQL时,从SAP Crystal Reports(v 14.1.5.1501)获得以下错误。 对SQL Server使用OLE DB(ADO)。 问题来自表OMLT的左联接并将表名传递给OMLT.TableName ='OACT'

[左加入OMLT,打开( OMLT.PK = OACT.AcctCode AND OMLT.TableName =' OACT')]

有什么主意吗?

SET @objectId = {?ObjectId @}
SET @docEntry = {?DocKey @}

DECLARE @tableHeader AS NVARCHAR(20)
DECLARE @tableLines AS NVARCHAR(20)< br> SELECT @tableHeader = CASE @objectId当'23'然后'OQUT'当'17'然后'ORDR'当'16'然后'ORDN'当'15'然后'ODLN'当'13'然后'OINV' '14'THEN'ORIN'当'203'THEN'ODPI'当'22'THEN'OPOR'当'21'THEN'ORPD'当'20'THEN'OPDN'当'18'THEN'OPCH'当'19 '然后'ORPC'当'204'然后'ODPO'当'540000006'然后'OPQT'结束
SELECT @tableLines = CASE @objectId当'23'然后'QUT1'当'17'然后'RDR1'当' 16'THEN'RDN1'当'15'THEN'DLN1'当'13'THEN'INV1'当'14'THEN'RIN1'当'203'THEN'DPI1'当'22'THEN'POR1'当'21' 当'20'时'RPD1'然后'18'时'PDN1'当'19'然后'RPC1'当'204'然后'DPO1'当'540000006'然后'PQT1'END

/*声明-结束*/

EXEC(
'选择
T0.CreateDate
,T0.DocEntry
,T0.DocNum
,T0.DiscSum
,T0.Do cDate
,T0.DocTotal
,T0.VatSum
,MLT1.Trans
,NNM1.SeriesName
,OACT.AcctCode
,OACT.AcctName
,OADM.CompnyName
,OCPR.Name
,OCRD.CardCode
,OCRD.CardName
,OCRD.LicTradNum
,OITM.InvntItem
,OITM.ItemName
,OOCR.OcrCode < br>,OOCR_1.OcrCode
,OOCR_1.OcrName
,OOCR_2.OcrCode
,OOCR_2.OcrName

,OPRJ.PrjCode
,OPRJ.PrjName
,OUSR。 U_NAME
,OWHS.WhsName
,POR1.Currency
,POR1.DiscPrcnt
,POR1.GTotal
,POR1.ItemCode
,POR1.LineNum
,POR1.Price
,POR1.Quantity
,POR1.VatPrcnt
,UFD1.Descr

从OPOR T0到POR1上的内部连接POR1.DocEntry = T0.DocEntry
内部连接OCRD ON OCRD.CardCode = T0.CardCode 内联接NNM1 ON NNM1.Series = T0.Series <内>内联接OUSR上OUSR.USERID = T0.UserSign 内联接OACT.AcctCode = POR1.AcctCode
OITM上的内部联接OITM.ItemCode = POR1.ItemCode
OOCR上的左侧联接OOCR.OcrCode = POR1.OcrCode 左侧的联接OOCR OOCR_1于OOCR_1.OcrCode = POR 1.OcrCode3
向左连接OOCR OOCR_2位于OOCR_2上 加入OCPR开启OCPR.CardCode = OCRD.CardCode
左加入OMLT开启( OMLT.PK = OACT.AcctCode和OMLT.TableName ='OACT')
左联接MLT1处于MLT1.TranEntry = OMLT.TranEntry
左联接UFD1处于打开状态(UFD1.FldValue = OITM.U_ItemProprietary AND UFD1.TableId ='OITM')
左侧联接CUFD处于打开状态(CUFD.TableId = UFD1.TableId和CUFD.AliasId ='ItemProprietary')
完全外部联接OADM处于OADM.Code = 1')

(6.8 kb)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


美好的一天,

尝试使用Database Expert中推荐的SQL时,从SAP Crystal Reports(v 14.1.5.1501)获得以下错误。 对SQL Server使用OLE DB(ADO)。 问题来自表OMLT的左联接并将表名传递给OMLT.TableName ='OACT'

[左加入OMLT,打开( OMLT.PK = OACT.AcctCode AND OMLT.TableName =' OACT')]

有什么主意吗?

SET @objectId = {?ObjectId @}
SET @docEntry = {?DocKey @}

DECLARE @tableHeader AS NVARCHAR(20)
DECLARE @tableLines AS NVARCHAR(20)< br> SELECT @tableHeader = CASE @objectId当'23'然后'OQUT'当'17'然后'ORDR'当'16'然后'ORDN'当'15'然后'ODLN'当'13'然后'OINV' '14'THEN'ORIN'当'203'THEN'ODPI'当'22'THEN'OPOR'当'21'THEN'ORPD'当'20'THEN'OPDN'当'18'THEN'OPCH'当'19 '然后'ORPC'当'204'然后'ODPO'当'540000006'然后'OPQT'结束
SELECT @tableLines = CASE @objectId当'23'然后'QUT1'当'17'然后'RDR1'当' 16'THEN'RDN1'当'15'THEN'DLN1'当'13'THEN'INV1'当'14'THEN'RIN1'当'203'THEN'DPI1'当'22'THEN'POR1'当'21' 当'20'时'RPD1'然后'18'时'PDN1'当'19'然后'RPC1'当'204'然后'DPO1'当'540000006'然后'PQT1'END

/*声明-结束*/

EXEC(
'选择
T0.CreateDate
,T0.DocEntry
,T0.DocNum
,T0.DiscSum
,T0.Do cDate
,T0.DocTotal
,T0.VatSum
,MLT1.Trans
,NNM1.SeriesName
,OACT.AcctCode
,OACT.AcctName
,OADM.CompnyName
,OCPR.Name
,OCRD.CardCode
,OCRD.CardName
,OCRD.LicTradNum
,OITM.InvntItem
,OITM.ItemName
,OOCR.OcrCode < br>,OOCR_1.OcrCode
,OOCR_1.OcrName
,OOCR_2.OcrCode
,OOCR_2.OcrName

,OPRJ.PrjCode
,OPRJ.PrjName
,OUSR。 U_NAME
,OWHS.WhsName
,POR1.Currency
,POR1.DiscPrcnt
,POR1.GTotal
,POR1.ItemCode
,POR1.LineNum
,POR1.Price
,POR1.Quantity
,POR1.VatPrcnt
,UFD1.Descr

从OPOR T0到POR1上的内部连接POR1.DocEntry = T0.DocEntry
内部连接OCRD ON OCRD.CardCode = T0.CardCode 内联接NNM1 ON NNM1.Series = T0.Series <内>内联接OUSR上OUSR.USERID = T0.UserSign 内联接OACT.AcctCode = POR1.AcctCode
OITM上的内部联接OITM.ItemCode = POR1.ItemCode
OOCR上的左侧联接OOCR.OcrCode = POR1.OcrCode 左侧的联接OOCR OOCR_1于OOCR_1.OcrCode = POR 1.OcrCode3
向左连接OOCR OOCR_2位于OOCR_2上 加入OCPR开启OCPR.CardCode = OCRD.CardCode
左加入OMLT开启( OMLT.PK = OACT.AcctCode和OMLT.TableName ='OACT')
左联接MLT1处于MLT1.TranEntry = OMLT.TranEntry
左联接UFD1处于打开状态(UFD1.FldValue = OITM.U_ItemProprietary AND UFD1.TableId ='OITM')
左侧联接CUFD处于打开状态(CUFD.TableId = UFD1.TableId和CUFD.AliasId ='ItemProprietary')
完全外部联接OADM处于OADM.Code = 1')

(6.8 kb)
付费偷看设置
发送
3条回答
宇峰科技
1楼 · 2020-09-23 15:41.采纳回答

发现了问题。 字符串参数需要在动态SQL中用双引号进行转义,例如

打开左侧的OMLT( OMLT.PK = OACT.AcctCode和OMLT.TableName ='' OACT'')

Tong__Ming
2楼-- · 2020-09-23 15:22

SQL查询在Crystal中工作正常,直到将其包装为" EXEC('select ..."格式)为止。还尝试了各种方式的转换,但没有区别。

callcenter油条
3楼-- · 2020-09-23 15:21

这两个字段是完全相同的数据类型。Crystal不喜欢将INT或数字连接到数字文本。您需要将其强制转换为相同的

OMLT.PK = OACT.AcctCode

Ian

一周热门 更多>