我正在处理一些现有的项目,并试图将其从客户端的许多firebird数据库转变为一个基于服务器的数据库。
不幸的是,我的连接字符串出现了一些问题。
是否可以连接到远程服务器上的.fdb文件?
目前的代码如下:
var builder = new FbConnectionStringBuilder
{
Database = @"C:test.db",
ServerType = FbServerType.Embedded,
Pooling = isPooled
};
我读过一些关于如何像下面这样做但不起作用的例子:
FbConnectionStringBuilder(@"Database=192.168.1.235:C:sharetest.fdb;User ID=sysdba;Password=masterkey;")
它仍然只连接到本地目录C:\share\test.fdb。因为那不是我的ip地址。有什么帮助吗?
Database
属性仅用于数据库文件名或别名,需要使用DataSource
作为主机名或IP地址,使用Port
作为Firebird端口。查看.NET--使用示例和连接字符串参数
此外,类FbConnectionStringBuilder
旨在简化连接字符串的构建(它具有各种连接字符串属性的属性),因此第一次使用是正确的,但第二次使用有点奇怪。
好吧,我想我已经解决了。无法远程访问嵌入式数据库。因此,一旦安装了服务器软件并删除了它,一切都很好。在远程驱动器上连接它将是一个方便的功能,但哦,好吧。
确保fireBird正在监听端口3050,取消注释firebird.conf
中的此行
RemoteServiceName=gds_db
RemoteServicePort=3050
重新启动服务。