目前最新的Firebird版本是:3.0.3

使用过程的一些必经问题,嵌入式的模式就不再说了。

在使用标准Server版时,第一个要考虑的就是数据库文件的存放位置,默认配置放在windows/system32下,很可能需要改为指定的位置:例如安装目录的db子目录下。

 DatabaseAccess = Restrict db

第二个需要注意的就是,表的命名最好使用全大写,这样在写sql时,不用关心大小写问题,即便写的是小写,也没问题;这一点和Postgresql正好相反。

第三个就是连接字符串,和标准的稍微有点区别,正确的是: uid=SYSDBA;Password=;database=wms;server=192.168.0.119;Dialect=;ServerType=; 注意这里的Password不能被pwd替换,其他几个可以。ServerType=0是服务器版,1是嵌入式版。

第四个还是要修改服务器配置文件,使客户端和服务器保持一致的加密等级,在文件 firebird.conf ,修改为 WireCrypt = Enabled ,否则会报错 Incompatible wire encryption levels requested on client and server 。

然后,如果用到轻量级的ORM,如Influendata,可以从nuget上下载 FirebirdSql.Data.FirebirdClient ,会在配置文件自动添加 DbProviderFactories 节点。

   <system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> <remove invariant="FirebirdSql.Data.FirebirdClient" />
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" />
</DbProviderFactories>
</system.data>

在定义DbContext上下文时,并没有提供firebird的驱动,可以使用 DB2Provider 替代: return new DbContext().ConnectionString(connstr, new DB2Provider(), FirebirdSql.Data.FirebirdClient.FirebirdClientFactory.Instance);

使用  FbConnectionStringBuilder 生成的标准连接字符串:  user id=SYSDBA;character set=UTF8;dialect=;server type=Default;initial catalog=a;password=;data source=localhost

             FbConnectionStringBuilder connBuilder = new FbConnectionStringBuilder();
connBuilder.DataSource = "localhost";
connBuilder.UserID = "SYSDBA";
connBuilder.Password = "";
connBuilder.Database = "a";
connBuilder.ServerType = FbServerType.Default;
connBuilder.Charset = "UTF8";
connBuilder.Dialect = ;
connectionString = connBuilder.ConnectionString;

默认配置:

     connBuilder.DataSource = "localhost";
connBuilder.UserID = "sysdba";
connBuilder.Password = "";
connBuilder.Database = "a";
connBuilder.Charset = "utf8";

Firebird DatabaseAccess WireCrypt DB2Provider的更多相关文章

  1. Firebird 手动安装 Legacy_Auth 登陆认证

    下载官方发布的最新版本:V3.0.4 或者下载还没正式发布的下个版本(但已经修复了一些bug):V3.0.5 下载后解压缩,修改配置文件Firebird.conf的登陆认证为Legacy_Auth:这 ...

  2. Firebird shadow

    火鸟数据库的shadow,即实时镜像. 主库发生变化,shadow也跟随变化,防止任何意外造成主库损坏无法使用,当然shadow可以有多个. 1.创建shadow的准备:修改Firebird.conf ...

  3. Firebird Fluentdata

    Fluentdata 支持很多种数据库驱动,但对Firebird不友好,不过可以使用DB2Provider来操作大部分功能, 例如: new DbContext().ConnectionString( ...

  4. Ubuntu 下 firebird 数据库的安装和配置

    Ubuntu 下 firebird 数据库的安装和配置 1.简介 本文主要是 Ubuntu 下 firebird 数据库的安装和目录迁移,同样适用于 Debian 系统:Ubuntu 20.0.4 f ...

  5. FireBird.conf配置文件常用参数

    1.RootDirectory  "写上Firebird服务器的安装路径" 如果不对FbServer服务是企动会出错的.2.DatabaseAcces 指的是访问Firebird数 ...

  6. EF for Firebird

    今天用了Firebird,记录下怎么用,不然下次给忘记了 1.官网下载包 1.DDEXProvider-3.0.1.0.msi 2.FirebirdSql.Data.FirebirdClient-4. ...

  7. [转载]Firebird与MySQL:一个使用者的体会

    老板要我开发一个LINUX平台上的数据库项目,要求一定要用开源免费数据库.我知道这个数据库必须能够上网操作,同时作为公司的核心骨干数据库,除了必须是稳定的存储数据库外还必须有很强的数据和数据库控管功能 ...

  8. Firebird数据库系统的开发团队

    下载Firebird3的发布文档,上面列出了开发团队,仔细看了看,原来俄罗斯人是主导(内核开发),法国人.智利人.巴西人.日本人.荷兰人.捷克人都有.共17人,3人全职. able 13.1. Fir ...

  9. Firebird数据库的Select语句

    select first 10 skip 8 * from t_data   //跳过前8行不要,取10行,即取第9行到18行共10行 select  first 10 * from t_data   ...

随机推荐

  1. 本地连接腾讯云Mysql失败问题

    腾讯云主机中MySQL无法远程连接的解决办法 在远程主机上,我开启了 mysql服务,用 phpmyadmin 可以打开,比如说用户名为 root,密码为 123456.不过用 Mysql 客户端远程 ...

  2. MVC断点续传

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...

  3. Mysql内置功能《四》存储过程

    存储过程 一 存储过程介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: #1. 用于替代程序写的SQL语句,实 ...

  4. 从哈希结构去理解PHP数组

    php的数组实际上就是hash_table,无论是 数字索引数组array(1, 2, 3) 还是关联数组array(1 => 2, 2=> 4)等等. 一,这里的hash_table有几 ...

  5. CentOS 安装系统侦察工具

    Nessus setup: rpm -ivh http://downloads.nessus.org/nessus3dl.php\?file\=Nessus-6.10.2-es6.x86_64.rpm ...

  6. [转] Linux 中提高 VsFTP 服务器的安全性

    FTP是互联网应用中的一个元老级人物了,其方便企业用户文件的共享.但是,安全问题也一直伴随在FTP左右.如何防止攻击者通过非法手段窃取FTP服务器中的重要信息;如何防止攻击者利用FTP服务器来传播木马 ...

  7. java多线程那点事

    屌丝程序员们对自己的技术能力总是毫不掩饰的高调,更有甚者每当完成一个简单的功能或算法实现,恨不得从工位上跳起来,生怕谁不知道一样,心情能理解,但个人完全鄙视这种行为.说到底,大家日常的coding,大 ...

  8. 使用vue+webpack从零搭建项目

    vue到现在已经成为一个热门的框架,在项目实践当中,如果想要创建一个新项目,通常都会使用vue-cli的脚手架工具,毋容置疑能够方便很多,很多东西也不需要自己亲自去配置.都知道,脚手架其实是vue结合 ...

  9. Python3之文本操作

    文件操作示例分析: 文件操作一般要经历三个步骤: 打开文件 操作文件 关闭文件 读取操作示例: >>>f = open('test.txt', 'r') # 打开文件test.txt ...

  10. SpringBoot入门(IDEA篇)(三)

    一.什么是JPA JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate.TopLink等. 二.Mysql数据库示例 1.在app ...