Adaptive Server Enterprise ADO.NET数据提供程序-SET SHOWPLAN ON

2020-09-12 15:36发布

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

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


您好,我正在尝试对查询执行SHOWPLAN,以查看其运行方式,但是我似乎无法使用ADO .NET数据提供程序让它返回SHOWPLAN。 不管查询是什么,SHOWPLAN都不会返回任何信息。

查询:

将NOEXEC设置为ON
 设置显示计划


 选择
 *


 从
 table_name


 哪里
 id = 1
 

C#:

使用(this._DBCommand = this._DBConnection.CreateCommand())
 {
     this._DBCommand.CommandText = _Command;
     this._DBCommand.CommandTimeout = this._QueryTimeout;


     使用(AseDataAdapter _DBDataAdapter = new AseDataAdapter(this._DBCommand))
     {
 _DBDataAdapter.Fill(_DataSet);
     }
 } 

C#代码不会用任何信息填充DataSet对象。 我也尝试过AseDataReader,但结果是相同的,没有信息。 任何帮助将不胜感激。

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

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


您好,我正在尝试对查询执行SHOWPLAN,以查看其运行方式,但是我似乎无法使用ADO .NET数据提供程序让它返回SHOWPLAN。 不管查询是什么,SHOWPLAN都不会返回任何信息。

查询:

将NOEXEC设置为ON
 设置显示计划


 选择
 *


 从
 table_name


 哪里
 id = 1
 

C#:

使用(this._DBCommand = this._DBConnection.CreateCommand())
 {
     this._DBCommand.CommandText = _Command;
     this._DBCommand.CommandTimeout = this._QueryTimeout;


     使用(AseDataAdapter _DBDataAdapter = new AseDataAdapter(this._DBCommand))
     {
 _DBDataAdapter.Fill(_DataSet);
     }
 } 

C#代码不会用任何信息填充DataSet对象。 我也尝试过AseDataReader,但结果是相同的,没有信息。 任何帮助将不胜感激。

付费偷看设置
发送
1条回答
Cikesha
1楼-- · 2020-09-12 15:44

嗨,

显示计划实际上不是数据集或结果集。
显示计划是一条消息。
来自TDS(Ribo)的示例:

EED令牌(0xE5); 可变长度。
长度[2]:62
消息号[4]:10262
消息状态[1]:1 <消息>消息类[1]:10 SQL状态[5]:" ZZZZZ"
状态[1]:NO_EED(0x00)
事务状态[2]:TDS_TRAN_SUCCEED(0x0001)
消息长度[2]:37
消息文本[37]:"查询的类型为SELECT。" <服务器>服务器名称长度[1]:4 <服务器>服务器名称[4]:"服务器名称" <存储过程>。 名称长度[1]:0
行号[2]:0

您将需要捕获警告/信息消息:
我相信这就是您要寻找的内容
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter .dc20066.0215/html/adonet2155/Infomessage_adodotnet_apir.htm

或者您可以执行我的操作并使用Ribo。
https://wiki.scn.sap.com/wiki/x/UgKlFw
https ://wiki.scn.sap.com/wiki/x/xYP8Ew

致谢,
瑞安

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答