1

我有一个 PowerBuilder.net 控制台应用程序,它使用 SQLNCLI10 连接 SQL Server 2008 R2。此应用程序需要从托管在同一服务器中的 ASP.NET MVC 网站执行,并读取其输出。

这是在 MVC 上执行应用程序的代码:

var proc = new System.Diagnostics.Process
{
    StartInfo = new System.Diagnostics.ProcessStartInfo
    {
        FileName = ConfigurationManager.AppSettings["PB_EXE"],
        Arguments = Credentials.ClientId + " " + reference,
        UseShellExecute = false,
        RedirectStandardOutput = true,
        WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
    }
};

从 MVC 执行应用程序时,PBTransaction 对象返回一般的“事务未连接”sql 错误。

问题是,应用程序运行良好的 .bat 调用带有参数的可执行文件。更重要的是,使用上面相同代码的简单 WinForms 可以成功连接事务。

我已经尝试将网站的ApplicationPool设置为服务器的管理员,结果相同。

4

1 回答 1

0

我首先要检查以解决PB.NET 控制台应用程序上的连接问题。

  1. 将一些日志记录到控制台应用程序中,并在尝试连接之前和之后立即检查 Transaction 对象。它可能会提供必要的信息来识别罪魁祸首。
  2. 确保 PowerBuilder 数据库连接运行时库(例如 PBORA010.DLL)安装在服务器上,并且运行应用程序的角色可以访问。
  3. 如果连接使用 ODBC/JDBC,请确保控制台应用程序可以访问服务器上所需的任何 DSN。
于 2017-04-27T17:23:53.883 回答