正在尝试使用firebird嵌入式服务器-指定的服务器类型不正确
本文关键字:服务器 -指 不正确 类型 嵌入式 firebird | 更新日期: 2023-09-27 18:29:11
在使用Visual Studio 2005的Windows 7上运行时,我正在尝试使用嵌入式firebird服务器。在遵循了提供的安装细节后,我得到了消息:-
指定的服务器类型不正确。
我正在使用:-
FirebirdSql.Data.FirebirdClient.dll版本2.5.2.0。
fbembed.dll版本2.5.0.26074
我将zip文件Firebird--2.5.0.26074-0Win32_embed.zip的全部内容复制到我的应用程序目录中,因为对于应该存在的内容,似乎有各种各样的想法。
我还复制了fbembed.dll,并按照其他地方的建议将其重命名为gds32.dll和fbclient.dll。
我的连接字符串是:-
用户=SYSDBA;密码=主密钥;database=C:''database''EMPLOYEE.FDB;服务器类型=1;方言=3";
所有用户都可以完全控制数据库文件。
我有一个firebird服务器在同一台机器上运行,我确保停止服务以避免任何混乱。
故障处的堆栈跟踪显示:-
在FirebirdSql.Data.FirebirdClientFactory.CreateDatabase(FbConnectionString选项)位于的FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()位于的FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create()位于的FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut()FirebirdSql.Data.FirebirdClient.FbConnection.Open()
欣赏任何想法。
最新的东西(8/2015)似乎不喜欢连接字符串中的ServerType=1,而是使用字符串生成器:
FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
cs.UserID = "SYSDBA";
cs.Password = "masterkey";
cs.Database = Form1.DataBaseFullPath;
cs.Charset = "UTF8";
cs.Pooling = false;
cs.Dialect = 3;
cs.ServerType = FbServerType.Embedded;
FbConnection Connection = new FbConnection(cs.ToString());
如果你查看结果,你会发现语法是"…;服务器类型=嵌入式"。"服务器"answers"类型"之间的空格。
尝试在ConnectionString中添加DataSource,例如
Data Source=localhost;
[编辑]
另外,看看这个SO问题。它提到了几个DLL,这些DLL是作为嵌入式运行Firebird所额外需要的。
无论问题是什么,都已通过使用最新版本(2.7.5)的火鸟点网提供商解决(感谢火鸟邮件列表上的Jiri)。