我们最近将Powerbuilder应用程序从6年迁移到2017年。我们正在使用MS SQL Server 2012.在PB6中,我们使用MSS Microsoft SQL Server 6.x作为连接字符串。在PB2017中,我们已将连接字符串更改为“SNC SQL Native Client(OLE DB)”。迁移和构建之后,EXE正在从开发人员计算机运行,而不是从用户计算机运行。将所有SQLNCLI *文件复制到应用程序文件夹。但没有运气。请帮助我们解决问题。
答案 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运行时打包程序:
如果您的应用程序使用DataWindow XML导出或导入,请选中XML支持复选框。
如果您的应用程序使用PowerBuilder文档对象模型提供的XML服务,或者它是EJB客户端或SOAP Web服务客户端,请选中相应的复选框。
答案 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客户端时,您将 需要以管理员身份进行。