Firebird远程连接失败

时间:2017-01-23 06:45:04

标签: c++ sql firebird firebird2.5

我有一个C ++应用程序,用于从Firebird SQL服务器读取数据。

当我将端口从3050更改为3053时,它显示错误,如

DB Error : 0 : Unable to complete network request to host "192.168.1.47".
Failed to establish a connection.
unknown Win32 error 10060
Invalid connection string attribute

配置文件更改为

# Type: string, integer
#
RemoteServiceName = gds_db
RemoteServicePort = 3053

Fb连接字符串是

Driver=Firebird/InterBase(r) driver;DBNAME=192.168.1.47:CWNPFB;PORT=3053;UID=SYSDBA;PWD=********

是否需要进行任何修改才能解决此问题?如果端口是3050,应用程序可以读取数据。

2 个答案:

答案 0 :(得分:1)

问题在于您的连接字符串:

你需要

  1. 从连接字符串中删除PORT=3053(这会导致"无效的连接字符串属性" 消息)
  2. DBNAME=192.168.1.47:CWNPFB修改为DBNAME=192.168.1.47/3053:CWNPFB(以指定正确的端口)
  3. 您可能还想注释掉(或删除)行RemoteServiceName = gds_db,因为您现在正在指示Firebird在gds_db(==端口3050)以及端口3053上进行侦听。我相信它通常会监听配置文件中配置的最后一个,但我不确定是否总是如此。

答案 1 :(得分:0)

端口3053的防火墙配置是否正确?另一项服务可以在这个特殊端口上运行。

您可以执行以下步骤。

  1. 尝试在数据库服务器上运行应用程序,请将IP更改为127.0.0.1或localhost。

  2. 如果步骤(1)有效:请查看防火墙

  3. 如果步骤(1)不起作用:可能尝试其他端口,检查Firebird是否正在运行