我创建了一个更新工具,它将Firebird Server数据库更新为SQL Server数据库,此更新使用Firebird数据库备份文件完成,并更新为SQL服务器数据库。我有一个Firebird备份文件,数据截止到2016年,但客户端有截止到2018年的最新数据。我想访问他的备份文件,为此我创建了一个Firebird连接字符串
string ConnectionString = "User ID=sysdba;Password=masterkey;Database=192.168.1.19:50800:D:\Company Data\CLINEDB.CMP;DataSource=192.168.1.19;Charset=NONE;Server Type=1;";
我得到这个错误:
无法完成对主机"50800"的网络请求。无法建立连接
如果我使用此连接字符串
string ConnectionString = "User ID=sysdba;Password=masterkey;Database=192.168.1.19/50800:D:\Company Data\CLINEDB.CMP;;DataSource=192.168.1.19;Charset=NONE;Server Type=1;";
无法完成对主机"D"的网络请求。未能定位主机
您的连接字符串错误:
- 您试图在
Database
中指定完整的连接信息,但需要在DataSource
、Port
和Database
中分别指定它们 - 当您需要连接到远程服务器时,您也错误地尝试使用Firebird Embedded。因此,
Server Type=1
应该被省略或者被赋予值0
正确的连接字符串为:
"User ID=sysdba;Password=masterkey;DataSource=192.168.1.19;Port=50800;Database=D:\Company Data\CLINEDB.CMP;Charset=NONE;Server Type=0;";
请参阅https://www.connectionstrings.com/firebird/
在你的问题中,你说你想连接到Firebird"备份文件">。这是不可能的,你只能连接到一个真正的火鸟数据库。