无法连接远程Pervasive DB

时间:2013-01-28 13:24:55

标签: asp.net-mvc ado.net pervasive

我正在开发与PervasiveDB交互的ASP.NET MVC应用程序,它运行在单独的外部数据库服务器上。我使用Pervasive ADO.NET Data Provider和连接字符串,如:ServerDSN=dbname;UID=user;PWD=password;ServerName=87.xxx.xx.xxx; 在我的开发机器上,使用IIS Express进行调试时一切正常,但是当我在运行IIS 7.0的远程托管服务器上部署我的应用程序时,我在尝试连接数据库时遇到异常。

代码:

PsqlConnection conn = new PsqlConnection(ConnectionString);
conn.Open();
try
{
  PsqlCommand cmd = new PsqlCommand(query);
  cmd.Connection = conn;
  PsqlDataReader reader = cmd.ExecuteReader();
  while (reader.Read())
  {
    ...
  }
}
finally
{
  conn.Close();
}

例外:

2013-01-28 15:40:21.2574|ERROR|App.WebApiApplication|Pervasive.Data.SqlClient.PsqlException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 87.xxx.xx.xxx:1583 at Pervasive.Data.SqlClient.PsqlConnection.Open() at App.DBFacade.TestConnection() at App.WebApiApplication.Application_Start()

从托管服务器ping到数据库服务器是可以的。

我没有意识到我的开发环境和生产环境之间有什么区别,我怎么能解决这个错误。

1 个答案:

答案 0 :(得分:0)

此错误的原因是托管服务提供商在给定的IP和端口上阻止了连接。