Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法运行db2查询?_Sql_.net_Db2_Db2 400 - Fatal编程技术网

Sql 无法运行db2查询?

Sql 无法运行db2查询?,sql,.net,db2,db2-400,Sql,.net,Db2,Db2 400,我在运行以下sql时遇到问题。我知道标记表示表名或列名不正确,但我已确认它们确实存在。运行sql的代码已被其他查询验证和使用,因此我确信还有其他问题;sql或相关的。参数和数值也已得到确认 错误: + $exception {"SQL0104 Token   was not valid. Valid tokens: <IDENTIFIER>."} IBM.Data.DB2.iSeries.iDB2SQLErrorException 我显然在sql中有某种看不见的字符 如

我在运行以下sql时遇到问题。我知道标记表示表名或列名不正确,但我已确认它们确实存在。运行sql的代码已被其他查询验证和使用,因此我确信还有其他问题;sql或相关的。参数和数值也已得到确认

错误:

+     $exception  {"SQL0104 Token   was not valid. Valid tokens: <IDENTIFIER>."}  IBM.Data.DB2.iSeries.iDB2SQLErrorException

我显然在sql中有某种看不见的字符

如图所示,我移除了所有的空白空间,现在它可以工作了

是:

将其更改为:

            string sql = @"
WITH
ItemBalanceCTE AS
(SELECT UPPER(TRIM(itnbr)) as ItemId,UPPER(TRIM(house)) as WarehouseId,UPPER(acrec) as ActiveFlag,ltpur as LeadTime_Purchase
FROM amflib5.itembl),
WarehouseItemCTE as
(SELECT UPPER(TRIM(itnbr)) as ItemId
,UPPER(TRIM(whid)) as WarehouseId
,UPPER(acrec) as ActiveFlag
FROM libdds5.YITMWHS)
SELECT ib.ItemId, ib.WarehouseId, ib.ActiveFlag, ib.LeadTime_Purchase, ib.WarehouseId as whid, ib.ItemId as itnbr
FROM ItemBalanceCTE ib
INNER JOIN WarehouseItemCTE wi ON wi.ItemId = ib.ItemId and wi.WarehouseId = ib.WarehouseId
WHERE ib.ItemId = ? AND ib.WarehouseId = ?
";

是参数的qmarks吗?您是否在应用层Java、Python、C、PHP中运行此查询?是的,我在.NET中运行。您需要显示完整的代码片段,而不仅仅是查询。您可能没有正确地使用实际的、非缺失的值参数化查询。此外,请编辑您的文章与人类语言描述的全部情况。错误转储本身没有帮助。您使用的是DB2fori的哪个版本?另外,试着删除ultimate SELECT周围的括号,这是不必要的
            string sql = @"
WITH
  ItemBalanceCTE AS
  (SELECT UPPER(TRIM(itnbr)) as ItemId
          ,UPPER(TRIM(house)) as WarehouseId
          ,UPPER(acrec) as ActiveFlag
          ,ltpur as LeadTime_Purchase
   FROM amflib5.itembl),

  WarehouseItemCTE as
    (SELECT UPPER(TRIM(itnbr)) as ItemId
            ,UPPER(TRIM(whid)) as WarehouseId
            ,UPPER(acrec) as ActiveFlag
     FROM libdds5.YITMWHS)
SELECT ib.ItemId, ib.WarehouseId, ib.ActiveFlag, ib.LeadTime_Purchase, ib.WarehouseId as whid, ib.ItemId as itnbr
 FROM ItemBalanceCTE ib
 INNER JOIN WarehouseItemCTE wi ON wi.ItemId = ib.ItemId and wi.WarehouseId = ib.WarehouseId
 WHERE ib.ItemId = ? AND ib.WarehouseId = ?
";
            string sql = @"
WITH
ItemBalanceCTE AS
(SELECT UPPER(TRIM(itnbr)) as ItemId,UPPER(TRIM(house)) as WarehouseId,UPPER(acrec) as ActiveFlag,ltpur as LeadTime_Purchase
FROM amflib5.itembl),
WarehouseItemCTE as
(SELECT UPPER(TRIM(itnbr)) as ItemId
,UPPER(TRIM(whid)) as WarehouseId
,UPPER(acrec) as ActiveFlag
FROM libdds5.YITMWHS)
SELECT ib.ItemId, ib.WarehouseId, ib.ActiveFlag, ib.LeadTime_Purchase, ib.WarehouseId as whid, ib.ItemId as itnbr
FROM ItemBalanceCTE ib
INNER JOIN WarehouseItemCTE wi ON wi.ItemId = ib.ItemId and wi.WarehouseId = ib.WarehouseId
WHERE ib.ItemId = ? AND ib.WarehouseId = ?
";