我已经部署了使用PB12.5 Classic创建的PB App。它是一个PB winform应用程序。我已设法将其部署在测试设备上以测试其性能。我创建了一个自定义运行时包装器。 我创建的这个运行时打包程序包含基本的PB运行时DLL,它是PBDWE125.dll,PBSHR125.dll PBSNC125.dll,PBVM125.dll,根据sybase的infocenter.sybase.com指令。
我还打包了microsoft dll,它是atl71.dll,libjcc.dll,libjtml.dll,msvcp71.dll,msvcp100.dll,msvcr71.dll,msvcr100.dll和nlwnsck.dll。
所有这些dll都安装在C:\ Program Files \ Sybase \ Shared \ PowerBuilder中。
我的问题是,我的PB应用程序正在运行但是当我尝试建立连接我的数据库服务器它提示"交易未连接"
这是PBSNC的问题吗?我尝试使用regsvr32注册它,它没有工作。我使用过PB运行时包装器,但仍然没有运气。我已经尝试了应用程序路径注册表并将其链接到上述目录,但仍然没有运气......
我的问题是
请注意:
答案 0 :(得分:0)
“未连接的事务”通常来自DataWindow,它被赋予一个未连接到数据库的事务对象。听起来连接到数据库时没有太多错误捕获,并且您遇到了下游症状。您需要向CONNECT例程添加错误检查,这将为您提供更多有关正在发生的事情的线索。
部署连接的一个常见问题是当程序尝试从INI文件读取连接参数时,在部署时,应用程序找不到INI文件,因此在读取INI时没有错误检查,程序正在尝试连接空事务对象并失败。但是,您提供给我们的信息为时已晚,无论是否存在问题都没有任何线索。
答案 1 :(得分:0)
部署应用程序的计算机是否安装了SQL Server Native Client运行时? (我假设你使用的是SQL Server,因为你提到了PBSNC125.dll。)这里有一些信息来自blog post我写了一段时间(我使用的是PB 12和SQL Server 2008,所以情况可能会有所不同为你。)
所需文件
在客户端计算机上,除了PB运行时(包括用于SQL Server的PBSNC120.dll)之外,还需要安装SQL Server Native Client runtime。这些来自Microsoft的msi安装程序包。安装SQL Server客户端时,您需要以管理员身份执行此操作。否则,你会得到一条含有“0:-1”的神秘错误信息。
运行时有32-bit和64-bit版本。 64位版本不能在32位版本的Windows上运行,反之亦然。
脚注:我的项目使用了PowerBuilder Classic版本12.1和SQL Server 2008