我有一个应用程序在开发环境中运行良好,但在部署为 EXE 时行为异常。当我单击部署并制作 EXE 时,通过 DataStore 对象运行的所有查询都成功(SQLCode 0)但返回零行。出于沮丧,我改用可见的数据窗口,它在 EXE 下又神奇地工作了。所以我让数据窗口不可见,它继续工作。这很奇怪。我有另一个更大的 powerbuilder 应用程序,它使用了很多 DataStore 对象(在同一个数据库上),而且效果很好。
DataStore ds_wacn
ds_wacn = create datastore
ds_wacn.DataObject = 'd_plateaccessions'
ds_wacn.SetTransObject(SQLCA)
ds_wacn.Retrieve(sLoad, iPlate)
IF SQLCA.SQLCode < 0 then ...
// Succeeds in development, fetches zero rows under EXE
dw_wacn.SetTransObject(SQLCA)
dw_wacn.Retrieve(sLoad, iPlate)
IF SQLCA.SQLCode < 0 then ...
// Succeeds in development and in EXE
我非常小心地确保运行的应用程序和失败的应用程序使用相同的设置连接到数据库(但那里仍然可能存在问题)。这是 Powerbuilder 11.5.1