Firebird单击嵌入式非安装版使用
来源于:http://blog.sciencenet.cn/blog-244606-335088.html
Firebird特性介绍firebird是一个全功能的,强大高效的,轻量级,免维护的数据库。它很容易让您从单用户,单数据库升级到企业级的应用。
一个firebird数据库服务器能够管理多个独立的数据库,每一个数据库同时可支持多个客户端连结。总之:它是一个开源的,强大在,可以自由使用的数据库(即使是商业上的使用)
作为一款单文件型小型数据库,Firebird 具有很多吸引人的特征,比如支持事务、支持存储过程、触发器等,而且 Embeded 版本的 Firebird 在 .NET 开发中只需要拷贝两个文件:一个 fbembed.dll (非托管但不需要注册的动态链接库)和一个 ADO.NET Data Provider 的 FirebirdSql.Data.Firebird.dll。这些特征都非常适合那些需要在客户端存储一些数据,但又不想安装数据库(比如MSDE)软件的情形。
据称,在国外,需要使用客户端数据库的情况中,有30%左右的开发者选择Access,有30%的开发者选择MSDE 2000,有30%的开发者选择Embedded Firebird,剩余10%选择其他小型数据库,如SQLite,MySQL 等。
上面所说的Access,MSDE 2000,Embedded Firebird,SQLite等都是可以免费再分发(free redistributable)的数据库。相比而言,MSDE 2000 显著缺点是需要安装,最大优点是和服务器端的 SQL Server 编程模型一致,开发便利。Access的显著缺点是功能较少,不支持事务等常用功能,最大优点是简单、多数开发者都很熟悉,部署也很方便。SQLite支持事务,也是一款单文件数据库,比较不足的是 .NET Data Provider 还不是很成熟。Firebird则同时具有:单文件、部署简单不需安装(只需 XCOPY 几个文件)、支持事务、存储过程、触发器,.NET Data Provider比较稳定成熟等优点。
Firebird 本身有SuperServer和Embedded版本之分,后者只能本机访问,不接受TCP连接。对于开发者而言,从Embedded数据库切换到SuperServer,只需更改数据库连接串中的ServerType值就行。
1.1 Firebird Data Provider For .NET 连接 Firebird 数据库
参考:http://blog.csdn.net/HiSpring/archive/2010/02/17/5310243.aspx
1、下载 Firebird 嵌入式数据库:Firebird-2.5.0.25920-0_Win32_embed_pdb_RC2(ZIP格式,8.5MB) 下载解压到本地磁盘即可,无需安装。
2、利用可视化的数据库管理工具创建数据库:Firebird 的数据库管理工具有很多,本人使用了 IBManager,只有一个 EXE 文件,免安装。
3、配置数据库文件所在目录:从第1步中解压出来的目录下复制文件 firebird.msg 和 intl、udf 两个子目录的所有内容到放置数据库文件的目录下。注:数据库文件可以放置在任何可访问的目录上,不必和应用程序同一目录。
4、配置应用程序目录:从第1步中解压出来的目录下复制文件以下 6 个文件到应用程序目录:fbembed.dll、firebird.conf、ib_util.dll、icudt30.dll、icuin30.dll、icuuc30.dll。
5、引用 Firebird .NET Provider 的 dll :先下载 Firebird.Net Provider v2.5.1 (ZIP格式,200KB),解压,将其中的 FirebirdSql.Data.FirebirdClient.dll 添加引用到项目。
6、连接:个人也记不住连接字符串,直接使用 FbConnectionStringBuilder 创建连接字符串,具体代码如下:
using FirebirdSql.Data.FirebirdClient;
FbConnectionStringBuilder connBuilder = new FbConnectionStringBuilder();
connBuilder.UserID = userId;//设置一个值,嵌入式版本并不验证用户名。
connBuilder.ServerType = FbServerType.Embedded;//设置数据库类型为 嵌入式;
connBuilder.Database = dbFile;//数据库文件的目录;
using (FbConnection fbConn = new FbConnection(connBuilder.ConnectionString))
{
fbConn.Open();
Console.WriteLine("连接成功!");
fbConn.Close();
}
本次实验使用2.0版本
拷贝需要的文件至Debug目录:
1.2创建Firebird数据库文件
private void btn_NewDataBase_Click(object sender, EventArgs e)
{
FbConnection.CreateDatabase(GetConnectionString());
}
static string GetConnectionString()
{
FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
cs.Database = "某某工作室.fdb";
cs.UserID = "SYSDBA";
cs.Password = "masterkey";
//cs.Charset = "UTF8"; //不设置任何的字符集,就可以避免出现中文路径不识别问题了
cs.ServerType = FbServerType.Embedded; // 设置数据库类型为嵌入式
return cs.ToString();
}
默认的数据库用户名为SYSDBA,默认密码为masterkey ,但是也可以创建自己的用户名和密码,如下代码所示:
static string GetConnectionString2()
{
FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
cs.Database = "某某工作室2.fdb";
cs.UserID = "MOUSTUDIO";
cs.Password = "851021mou";
//cs.Charset = "UTF8"; //不设置任何的字符集,就可以避免出现中文路径不识别问题了
cs.ServerType = FbServerType.Embedded; // 设置数据库类型为嵌入式
return cs.ToString();
}
1.3创建数据表
using (FbConnection conn = new FbConnection(GetConnectionString()))
{
conn.Open();
using (FbCommand createTable = conn.CreateCommand())
{
createTable.CommandText = "create table Table_MouCH (id int, name varchar(20) character set gb2312)";
createTable.ExecuteNonQuery();
}
}
1.4插入数据
using (FbCommand insertData = conn.CreateCommand())
{
insertData.CommandText = "insert into Table_MouCH values (@id, @name)";
insertData.Parameters.Clear();
insertData.Parameters.Add("@id", FbDbType.Integer).Value = 10;
insertData.Parameters.Add("@name", FbDbType.VarChar, 200).Value = "某某";
insertData.ExecuteNonQuery();
}
1.5读取数据
using(FbCommand selectData = conn.CreateCommand())
{
selectData.CommandText = "select * from Table_MouCH";
using(FbDataReader r = selectData.ExecuteReader())
{
while(r.Read())
{
//string str_Temp = r.GetString(0);
string str_Temp = r.GetString(1);
MessageBox.Show(str_Temp);
}
}
}
使用注意解决问题:
(1) FDB中如何处理大小写?好像所有的字母都被搞成了大写?
(2) FDB中的所有字段似乎都只能用英文!而且还是小写的!
是否跟字符集设定有关???
2010-6-13 中文路径问题解决
参考:http://www.jocw.cn/sxsoftservice/Article_Print.asp?ArticleID=780
源代码:
static string GetConnectionString()
{
FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
cs.Database = "某某工作室.fdb";
cs.UserID = "SYSDBA";
cs.Password = "masterkey";
//cs.Charset = "UTF8"; //不设置任何的字符集,就可以避免出现中文路径不识别问题了
cs.ServerType = FbServerType.Embedded; // 设置数据库类型为嵌入式
return cs.ToString();
}
2010-6-13 数据表中文字段处理成功
只需要在创建数据表的时候指定数据表的字符集编码为gb2312即可。
下面是测试代码:
private void btn_ChTest_Click(object sender, EventArgs e)
{
using (FbConnection conn = new FbConnection(GetConnectionString()))
{
conn.Open();
using (FbCommand createTable = conn.CreateCommand())
{
createTable.CommandText = "create table Table_MouCH (id int, name varchar(200) character set gb2312)";
createTable.ExecuteNonQuery();
}
using (FbCommand insertData = conn.CreateCommand())
{
insertData.CommandText = "insert into Table_MouCH values (@id, @name)";
insertData.Parameters.Clear();
insertData.Parameters.Add("@id", FbDbType.Integer).Value = 10;
insertData.Parameters.Add("@name", FbDbType.VarChar, 200).Value = "某某";
insertData.ExecuteNonQuery();
}
using(FbCommand selectData = conn.CreateCommand())
{
selectData.CommandText = "select * from Table_MouCH";
using(FbDataReader r = selectData.ExecuteReader())
{
while(r.Read())
{
//string str_Temp = r.GetString(0);
string str_Temp = r.GetString(1);
MessageBox.Show(str_Temp);
}
}
}
}
MessageBox.Show("OK3!");
}
分享到:
相关推荐
在本文中,我们将深入探讨如何使用C#编程语言来访问Firebird 2.5.8嵌入式小型数据库。Firebird是一种开源的关系型数据库管理系统,它具有高度的可靠性和性能,适用于各种规模的应用程序,包括嵌入式系统。C#是微软...
Firebird与C#的连接及嵌入式开发需要经过下载和安装Firebird数据库管理系统,创建数据库,编写C#程序连接Firebird数据库,并下载Firebird嵌入式版本文档和数据库文件。只有通过这些步骤,才能实现Firebird与C#的连接...
在IT行业中,数据库管理系统是应用开发的核心组成部分,而Firebird Embedded是一种轻量级、高性能的嵌入式数据库系统,常用于需要本地数据存储且对系统资源占用要求较低的应用场景。在Java开发中,Spring和Hibernate...
在本文中,我们将深入探讨如何使用Delphi 10.3通过FireDAC连接到FireBird数据库,特别是使用Embedded(嵌入式)方式。 FireBird是一种开源的关系型数据库管理系统,具有轻量级、高性能和跨平台的特点。在嵌入式模式...
在本文中,我们将深入探讨如何使用C#连接到Firebird嵌入式数据库。Firebird是一种开源的关系型数据库管理系统,提供跨平台支持,并且有多种语言的API,包括.NET框架下的.NET Provider。本实例将基于Visual Studio ...
`ServerType=Embedded`表明我们正在使用的是嵌入式Firebird数据库,而非远程服务器。`Dialect=3`是指定的SQL方言,通常用于Firebird 2.5及更高版本。 在实际项目中,我们可能会需要执行SQL查询来创建表、插入数据...
总的来说,这个压缩包提供了一套完整的Firebird数据库解决方案,包括服务器安装和易于使用的管理工具。无论是新手还是经验丰富的开发者,都能从中受益,快速上手并有效地管理他们的数据库。在实际使用中,用户可以...
《嵌入式Firebird:全功能的2 MB运行时数据库》 Firebird数据库系统,作为一个开源的关系型数据库管理系统,以其高效、稳定和易用性在IT业界获得了广泛的认可。尤其在嵌入式环境中的应用,它展示出强大的适应性和...
嵌入式Firebird数据库在开发过程中常常被用于创建高效、轻量级的本地数据存储解决方案。结合Visual Studio 2015(VS2015)进行开发,可以利用C#的强大功能,实现数据访问和管理。在这个实例中,我们探讨了如何在项目...
- **安装和启动**:Firebird嵌入式数据库通常与应用程序一起分发,只需将必要的库文件和配置文件放在适当位置即可。 - **连接和查询**:通过ODBC或JDBC驱动程序,开发者可以使用SQL语句进行连接和数据操作。 - **...
在本实例中,我们将深入探讨如何在Visual Studio 2015(C#)环境中,结合.NET Framework 4.5,实现对Firebird数据库的嵌入式使用。Firebird是一款开源的关系型数据库管理系统,以其小巧、高效和跨平台的特性而受到...
一个基于FireBird嵌入式数据的共享文件管理器,可实现远程访问,含全部源码. 适用于Delphi XE及更高版本. 代码主要涉及技术: 1.FireBird连接的动态参数化设定及访问 2.磁盘文件存取及属性控制 3.DataSnap应用
通过以上介绍,我们了解了Firebird 3.0.2在64位Linux环境下的嵌入式部署资源包的主要内容,以及如何进行安装、使用和维护。在实际项目中,合理利用这些特点和功能,可以有效地提高应用程序的数据库性能和安全性。
在本实例中,我们主要探讨的是如何在C#环境下利用嵌入式Firebird数据库与Visual Studio 2015进行集成开发。Firebird是一款开源、跨平台的关系型数据库管理系统,以其稳定性、性能和易用性受到开发者的青睐。在C#编程...
Firebird NT BBS,一种telnet模式下的BBS系统,Windows环境下的源代码,需要根据自己的要求定制修改参数,然后编译成exe可执行文件,通过telnet方式登录。 Firebird NT BBS, a BBS mode telnet system, Windows ...
ASP.NET中使用嵌入式数据库Firebird2.5.8版64位,怎么使用,项目里面有个测试的数据库,demo可以直接运行,IISExpress里面测试会报错,需要部署到本地IIS里面,应用程序池高级设置不要把啟用32位應用程序設置為True...
3. **fbembed.dll**: 这是Firebird的嵌入式数据库引擎库,允许在应用程序内部直接使用Firebird数据库,而无需单独的服务进程。 4. **fbclient.dll**: 这是Firebird的客户端库,用于连接到Firebird服务器,处理网络...
FireBird 安装及使用指南 FireBird 是一个开源的关系数据库管理系统,具有高性能、可靠性和跨平台支持等特点。下面是 FireBird 安装及使用的详细指南,适合初学者和刚刚接触 FireBird 的用户。 安装 Firebird ...
数据库安装FireBird及FBControl、FlameRobin等工具.rar fbcontrol.rar FireBird212.rar flamerobin-0.9.2-1-setup.rar gbak.rar fbclient.dll Firebird_ODBC_2.0.2.153_Win32.exe Firebird_ODBC_2.0.2.153_x64.exe ...
readme-firebird-通过odbc-delphi 使用ado可以访问.txt odbc 文件名 odbcfb.dll 2010-04-18 是 Firebird_ODBC_2.0.0.148_win32.exe 安装的 -------------------------------------------------------- delphi ...