出自VFP Wiki

跳轉到: 導航, 搜尋


Firebird and Interbase Data Provider

ADO.NET Data Provider for Firebird and Interbase databases

Does not exist in Mono, but is a separate project The Firebird Relational Database is is an independent project which uses source code based on the Interbase source code released by Borland under the Interbase Public License Both the Firebird Relational Database and the Firebird .NET Data Provider can be downloaded from here The Firebird .NET Data provider has been made available by Carlos Guzm varez (aka "Carlos G.A."), who has also made a number of contributions to the OdbcJdbc code

Bugs with Mono or the data provider should be reported in Mono's Bugzilla here. If you do not have Bugzilla user account, it is free and easy to create one here.

Current Status

Current stable version: 1.0 Current developement version: 1.5 The new data provider/driver is written in C# and provides a high-performance native implementation of the GDS32/API functions. This means that .Net developers will be able to access Firebird databases without the need of Firebird client install In support of the new module, a new mailing list firebird-net-provider has been created. Please use this list for any questions that you may have about the provider

New features & enhancements in 1.5 version

  • Better fit to ADO.NET
  • New GDS implementation
  • Implicit transaction support
  • Array datatype support
  • Firebird services API support
  • Firebird events API support
  • Stored procedure calls using Sql Server style
  • Support for retrieve database schema information ( FbConnection.GetDbSchema )
  • Improved Commandbuilder implementation
  • Testing

Need a working mono and mcs

Need access to a Firebird Relational Database or you can download it from here Get the Firebird .NET data provider from here as firebird-net-provider. Make sure the Firebird .NET data provider binary assembly FirebirdSql.Data.Firebird.dll is installed in the same place as the mono class libraries. Has a ConnectionString format: "Database=databasefile.gdb;User=user;Password=pass;Dialect=3;Server=hostname"

C# Example


using System; 
using System.Data; 
using FirebirdSql.Data.Firebird; 

public class Test 
	public static void Main(string[] args) 
		string connectionString = 
			"User=SYSDBA;" + 
			"Password=masterkey;" + 
			"Dialect=3;" + 

		IDbConnection dbcon = new FbConnection(connectionString); 
		IDbCommand dbcmd = dbcon.CreateCommand(); 
		string sql = "SELECT * FROM employee"; 
		dbcmd.CommandText = sql; 
		IDataReader reader = dbcmd.ExecuteReader(); 
		while(reader.Read()) {
			object dataValue = reader.GetValue(0);
			string sValue = dataValue.ToString();
			Console.WriteLine("Value: " + sValue);
		// clean up
		reader = null;
		dbcmd = null;
		dbcon = null; 

Building C# Example

Save the example to a file, such as, TestExample.cs Build on Linux:

mcs TestExample.cs -r System.Data.dll -r FirebirdSql.Data.Firebird.dll

Build on Windows via Cygwin

mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe TestExample.cs -lib:C:/cygwin/home/MyHome/mono/install/lib -r System.Data.dll -r FirebirdSql.Data.Firebird.dll

Running the Example

mono TestExample.exe