PowerBuilder与SQL Server的连接

2020-09-24 08:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在将PowerBuilder...

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

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


我正在将PowerBuilder经典应用程序(PB ver,12.6)从Sybase ASE数据库转换为SQL Server数据库。 我的问题是有关PowerBuilder经典应用中SQL Server连接中的多个活动结果集(MARS)的问题。 SQLCA.DBMS =" ADO"

我是PowerBuilder的新手。

我对 ADO.NET

很有经验

我遇到的第一个例外是"在MARS批处理中启动的事务在批处理结束时仍处于活动状态。该事务被回滚。"。 这是使用SqlCa执行立即"开始事务"的结果。 这使我在SqlCa.DBParm中明确指定" MultipleActiveResultSets = false"

因此,在禁用MARS的情况下,我重新运行了该应用程序。 begin事务处理语句成功,但是另一个错误从某个地方出现(我认为是DataWindow Framework)。 错误是"已经有与此命令关联的打开的DataReader,必须先关闭它"。

在我的 ADO.NET 经验中,我之前曾看到过这种打开的DataReader错误。

这两个错误,一个错误启用了MARS,另一个错误禁用了MARS,使我认为PowerBuilder经典框架期望启用SQL Server连接的MARS功能。

我对吗,必须从PB经典应用程序的SQL Server连接上启用MARS?

4条回答
me_for_i
2020-09-24 08:46

嗨克里斯,

您可能是对的,因为在PowerBuilder联机帮助中仅在SNC界面中提到了MARS。
实际上,通过阅读连接到数据库手册,您可以在" SQL Server 2005功能"部分:

多个活动结果集
SNC接口支持多个活动结果集(MARS),使应用程序可以打开多个默认结果集并交错读取它们。 应用程序还可以在打开默认结果集的同时执行诸如INSERT,UPDATE和DELETE之类的语句以及存储过程调用。

问候,
Jacob

一周热门 更多>