Firebird3基本使用
解决C#无法访问的情况:
1. 使用FirebirdSql.Data.FirebirdClient 5版本以上。
2.修改Firebird.conf配置文件WireCrypt为Enabled
#WireCrypt = Enabled (for client) / Required (for server)
WireCrypt = Enabled
经测试,在Firebird4中,还需要下面一行才可访问:
AuthServer = Srp256, Srp, Win_Sspi, Legacy_Auth
Firebird 3引入了线路协议加密,默认情况下是必需的。在撰写本文时,此加密不受Firebird ado.net提供程序的支持。因此,尝试连接将失败
解决方案是将Firebird配置修改为仅启用(而非要求)线路协议加密。为此,请编辑Firebird服务器的firebird.conf
并将设置WireCrypt
更改为WireCrypt = Enabled
(如果当前以#
为前缀,请删除#
) ,并重新启动Firebird服务器。如果Firebird安装在Program Files中,则需要使用管理员权限运行编辑器才能正确保存文件。
经测试,在Firebird
AuthServer = Srp256, Srp, Win_Sspi, Legacy_Auth
C#连接字符串:
@"server=10.13.238.143;database=e:\temp\ee.gdb;user id=sysdba;password=masterkey;character set=UTF8;port number=3050"; //必须指定编码
是否允许远程访问:
#RemoteAccess = fase 禁止后,本地用127.0.0.1也无法访问了,不知这个参数如何理解
大小写:
在创建数据库时,表名、字段名等一定要大写,否则要打引号才能访问。在C#不要求大小写。
建表时,字段支持中文。
在使用FirebirdSql.Data.FirebirdClient5.9时遇到一个错误,无法引用另一个组件,不想深究,就是V5.5算了。