运行powerbuilder应用程序时出现“未安装SQL Server Native Client”错误

时间:2018-04-03 09:23:54

标签: powerbuilder powerbuilder-build-deploy

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

3 个答案:

答案 0 :(得分: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提供程序

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

PowerBuilder运行时打包

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

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

使用PowerBuilder运行时打包程序:

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

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

  7. 点击“创建”。

答案 1 :(得分:1)

您肯定应该为客户端使用Microsoft安装程序,而不是复制文件。它们必须位于系统路径中,并且安装程序将负责注册表设置。

答案 2 :(得分:0)

几年前,我在PowerBuilder中编写了一个访问SQL Server的程序。当时我必须在所有用户的计算机上安装SQL Server Native Client运行时。我不知道从那以后这是否有所改变。这是我写的关于它的blog post的引用:

  

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