0

我们最近将 Powerbuilder 应用程序从 6 迁移到 2017。我们使用 MS SQL Server 2012。在 PB6 中,我们使用 MSS Microsoft SQL Server 6.x 作为连接字符串。在 PB2017 中,我们将连接字符串更改为“SNC SQL Native Client(OLE DB)”。迁移和构建后,EXE 在开发人员机器上工作,而不是在用户机器上工作。将所有 SQLNCLI* 文件复制到应用程序文件夹。但没有运气。请帮助我们解决问题。

4

3 回答 3

1

我相信运行时需要在 PATH 中,最好使用 PowerBuilder 附带的运行时打包工具。您可以从生成的 MSI 中提取文件,包括提取 PATH 语句。

您是否甚至费心阅读运行时文件下的帮助文件?本网站不是一项免费服务,我们以互惠的方式给予(和接受)您为您做脏活。俯瞰,因为你是新来的。

SQLNCLI* 文件是 Microsoft 拥有的,需要 PowerBuilder Native 运行时 (pbsnc170.dll) 才能与 SQL 层交互。

与 OLE DB 相关

OLE DB 数据库提供程序

如果您的应用程序使用 OLE DB 访问数据,则必须在每个用户的计算机上安装 Microsoft 的数据访问组件软件(如果尚未安装)。

PowerBuilder OLE DB 接口需要 Microsoft 数据访问组件 (MDAC) 2.8 版或更高版本软件的功能。

要检查计算机上的 MDAC 版本,用户可以从位于http://msdn2.microsoft.com/en-us/data/aa937730.aspx的 MDAC 下载页面下载并运行 MDAC 组件检查器实用程序。

在 Windows 7/8.1/10 操作系统上,Windows 数据访问组件 (DAC) 版本 6.0 取代了 MDAC,并实现了 PowerBuilder OLE DB 接口的功能要求。

OLE DB 提供程序

几个 Microsoft OLE DB 数据提供程序随 MDAC 和 DAC 一起自动安装,包括 SQL Server (SQLOLEDB) 和 ODBC (MSDASQL) 的提供程序。

PowerBuilder 运行时打包

PB 2017 可能不包含运行时打包工具。

PowerBuilder Runtime Packager 是一种将应用程序在运行时需要的 PowerBuilder 文件打包到 Microsoft Windows Installer 包 (MSI) 文件中的工具。Windows Installer 是一种安装和配置服务,随较新的 Microsoft Windows 操作系统一起安装。

要使用 PowerBuilder 运行时打包程序:

  1. 从 Windows 开始菜单中选择 Programs>Sybase>PowerBuilder XX.yy>PowerBuilder Runtime Packager,或者在 Shared\PowerBuilder 目录中启动 pbpack115 可执行文件。它将根据您使用的版本命名。
  2. 为生成的 MSI 文件选择一个位置。
  3. 如果您正在部署 .NET 目标,请选择 PowerBuilder .NET 组件。否则,选择 PowerBuilder 标准组件。
  4. 选择您的应用程序需要的数据库接口。
  5. 如果您的应用程序使用 DataWindow XML 导出或导入,请选中 XML 支持复选框。

  6. 如果您的应用程序使用 PowerBuilder 文档对象模型提供的 XML 服务,或者如果它是 EJB 客户端或 SOAP Web 服务客户端,请选中相应的复选框。

  7. 单击创建。
于 2018-04-05T23:36:28.513 回答
1

您绝对应该为客户端使用 Microsoft 安装程序,而不是复制文件。它们必须在系统路径中,并且安装程序将处理注册表设置。

于 2018-04-09T23:48:33.930 回答
0

几年前,我在 PowerBuilder 中编写了一个访问 SQL Server 的程序。当时我必须在所有用户的机器上安装 SQL Server Native Client 运行时。我不知道从那以后情况是否发生了变化。这是我写的一篇博客文章中的引述:

在您的客户端计算机上,除了 PB 运行时(包括用于 SQL Server 的 PBSNC120.dll),您还需要安装 SQL Server Native Client 运行时。这些来自 Microsoft 的 msi 安装程序包。安装 SQL Server 客户端时,您需要以管理员身份进行。

于 2018-04-06T15:05:58.777 回答