2020-08-26 20:47发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
当执行SQLPrepareW()+ SQLBindParameter()+ SQLExecute()时
创建本地速度表AS(SELECT * FROM t1 WHERE pk =?)
我收到以下错误:
[SAP AG] [LIBODBCHDB SO] [HDBODBC]常规错误;参数数目错误292
这种SQL语句是否有某些限制?或者这是一个错误?
我将在后续评论中提供ODBC API跟踪。
Seb
你好塞巴斯蒂安,
这实际上是服务器问题,因为服务器答复会通知ODBC驱动程序有关期望多少个参数,这些参数当前以0个参数进行答复。 我已经为此问题提交了一个错误。
最诚挚的问候,
Jeff
附加了ODBC API跟踪...我在做错什么吗?!?
libSQLDBCHDB 2.2.23.1499440855 系统:Linux/X64 建立于:2017-07-07 18:15:01 分公司:未知 应用:fglrun SQLAllocHandle 2017-09-07 14:54:02.697746 HandleType [输入]:SQL_HANDLE_ENV InputHandle [输入]:0x0000000000000000 OutputHandlePtr [输出]:0x000060d00000ac90 SQLRETURN:SQL_SUCCESS SQLSetEnvAttr 2017-09-07 14:54:02.697772 EnvironmentHandle [输入]:0x000060d00000ac90 属性[输入]:SQL_ATTR_ODBC_VERSION ValuePtr [输入]:SQL_OV_ODBC3 StringLength [in]:-5 SQLRETURN:SQL_SUCCESS SQLAllocHandle 2017-09-07 14:54:02.697844 HandleType [输入]:SQL_HANDLE_DBC InputHandle [输入]:0x000060d00000ac90 OutputHandlePtr [输出]:0x000061a000010e89 SQLRETURN:SQL_SUCCESS SQLConnect 2017-09-07 14:54:02.697902 ConnectionHandle [输入]:0x000061a000010e89 ServerName [输入]:HANADB1 NameLength1 [in]:SQL_NTS 用户名[输入]:hdbuser NameLength2 [in]:SQL_NTS enc:ASCII ODBC连接属性: #当地:ISO-8859-15 数据库名称:TEST1 SQLRETURN:SQL_SUCCESS SQLSetConnectAttr 2017-09-07 14:54:02.704993 ConnectionHandle [输入]:0x000061a000010e89 属性[输入]:SQL_ATTR_AUTOCOMMIT StringLength [in]:0 enc:ASCII ValuePtr [输入]:SQL_AUTOCOMMIT_OFF SQLRETURN:SQL_SUCCESS SQLAllocHandle 2017-09-07 14:54:02.705015 HandleType [输入]:SQL_HANDLE_STMT InputHandle [输入]:0x000061a000010e89 OutputHandlePtr [输出]:0x000061400000e460 SQLRETURN:SQL_SUCCESS SQLExecDirect 2017-09-07 14:54:02.705042 StatementHandle [输入]:0x000061400000e460 StatementText [in]:"从m_database选择版本;" TextLength [in]:SQL_NTS enc:ASCII SQLRETURN:SQL_SUCCESS SQLBindCol 2017-09-07 14:54:02.705760 StatementHandle [输入]:0x000061400000e460 ColumnNumber [输入]:1 TargetType [输入]:SQL_C_CHAR 目标值[输入/输出]:0x00007ffdf999e7a0 BufferLength [in]:100 StrLen_or_IndPtr [输入/输出]:0 SQLRETURN:SQL_SUCCESS SQLFetch 2017-09-07 14:54:02.705783 -> SQLExtendedFetch SQLExtendedFetch 2017-09-07 14:54:02.705788 StatementHandle [输入]:0x000061400000e460 FetchOrientation [in]:SQL_FETCH_NEXT FetchOffset [输入]:0 RowCountPtr [out]:0x0000000000000000 RowStatusArray [输出]:0x0000000000000000 SQLRETURN:SQL_SUCCESS <-SQLExtendedFetch SQLCloseCursor 2017-09-07 14:54:02.705821 StatementHandle [输入]:0x000061400000e460 SQLRETURN:SQL_SUCCESS SQLFreeHandle 2017-09-07 14:54:02.705843 HandleType [输入]:SQL_HANDLE_STMT 提手[输入]:0x000061400000e460 SQLRETURN:SQL_SUCCESS SQLAllocHandle 2017-09-07 14:54:02.705973 HandleType [输入]:SQL_HANDLE_STMT InputHandle [输入]:0x000061a000010e89 OutputHandlePtr [输出]:0x000061400000e440 SQLRETURN:SQL_SUCCESS SQLSetCursorName 2017-09-07 14:54:02.705994 StatementHandle [输入]:0x000061400000e440 CursorName [in]:scu1 NameLength [in]:SQL_NTS SQLRETURN:SQL_SUCCESS SQLSetStmtAttr 2017-09-07 14:54:02.706128 StatementHandle [输入]:0x000061400000e440 属性[输入]:SQL_ATTR_NOSCAN StringLength [in]:SQL_NTS ValuePtr [输入]:SQL_NOSCAN_ON SQLRETURN:SQL_SUCCESS SQLPrepare 2017-09-07 14:54:02.706154 StatementHandle [输入]:0x000061400000e440 StatementText [in]:"将本地临时表#tt2创建为(从t1中选择*,其中pk =?)" TextLength [in]:SQL_NTS enc:UCS2(LE)(本机) SQLRETURN:SQL_SUCCESS SQLBindParameter 2017-09-07 14:54:02.708007 StatementHandle [输入]:0x000061400000e440 ParameterNumber [输入]:1 InputOutputType [输入]:SQL_PARAM_INPUT ValueType [输入]:SQL_C_LONG ParameterType [输入]:SQL_INTEGER ColumnSize [输入]:0 DecimalDigits [in]:0 ParameterValPtr [in]:0x000060200001e030 BufferLength [输入/输出]:0 StrLen_or_IndPtr [输入]:0x000060600000c350 SQLRETURN:SQL_SUCCESS SQLExecute 2017年9月7日14:54:02.708047 StatementHandle [输入]:0x000061400000e440 SQLRETURN:SQL_ERROR SQLGetDiagRec 2017-09-07 14:54:02.714404 HandleType [输入]:SQL_HANDLE_STMT 处理[输入]:0x000061400000e440 RecNumber [输入]:1 缓冲区长度[输入]:513 enc:ASCII SQLState [输出]:S1000 NativeErrorPtr [输出]:292 MessageText [out]:[SAP AG] [LIBODBCHDB SO] [HDBODBC]常规错误; 292个错误的参数数目 TextLengthPtr [出]:76 SQLRETURN:SQL_SUCCESS
我遇到了与
过程" my_proc"(在i_var nvarchar(10)中) ... 开始 ... 创建本地临时表#my_buff AS(从" sometable"中选择*,其中" somefield" = i_var); ... 结束;
我收到一条消息" ...参数数目错误"
但是如果我将语句更改为
创建本地临时表#my_buff AS(从" sometable"中选择*,其中" somefield" =:i_var);
激活后,我收到一条消息"无法创建目录对象:无法使用参数变量。"
还有一个,如果select不返回任何值,则将创建本地表,否则将出现一条消息" ...参数数量错误"
在HANA 2.0 SPS03(修订版30)和更高版本的服务器中已得到修复。
请注意,在其他有效情况下,客户端仍然可以看到此错误消息。
最多设置5个标签!
你好塞巴斯蒂安,
这实际上是服务器问题,因为服务器答复会通知ODBC驱动程序有关期望多少个参数,这些参数当前以0个参数进行答复。 我已经为此问题提交了一个错误。
最诚挚的问候,
Jeff
附加了ODBC API跟踪...我在做错什么吗?!?
我遇到了与
相同的问题我收到一条消息" ...参数数目错误"
但是如果我将语句更改为
激活后,我收到一条消息"无法创建目录对象:无法使用参数变量。"
还有一个,如果select不返回任何值,则将创建本地表,否则将出现一条消息" ...参数数量错误"
在HANA 2.0 SPS03(修订版30)和更高版本的服务器中已得到修复。
请注意,在其他有效情况下,客户端仍然可以看到此错误消息。
最诚挚的问候,
Jeff
一周热门 更多>