我有一个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,应用程序可以读取数据。
答案 0 :(得分:1)
问题在于您的连接字符串:
你需要
PORT=3053
(这会导致"无效的连接字符串属性" 消息)DBNAME=192.168.1.47:CWNPFB
修改为DBNAME=192.168.1.47/3053:CWNPFB
(以指定正确的端口)您可能还想注释掉(或删除)行RemoteServiceName = gds_db
,因为您现在正在指示Firebird在gds_db
(==端口3050)以及端口3053上进行侦听。我相信它通常会监听配置文件中配置的最后一个,但我不确定是否总是如此。
答案 1 :(得分:0)
端口3053的防火墙配置是否正确?另一项服务可以在这个特殊端口上运行。
您可以执行以下步骤。
尝试在数据库服务器上运行应用程序,请将IP更改为127.0.0.1或localhost。
如果步骤(1)有效:请查看防火墙
如果步骤(1)不起作用:可能尝试其他端口,检查Firebird是否正在运行