* Firebird and Interbase Data Provider
<ul>
+ <li>ADO.NET Data Provider for Firebird and Interbase databases</li>
+
<li>Does not exist in Mono, but is a separate project</li>
- <li><a href="http://firebird.sourceforge.net/index.php">Firebird Relational Database</a> is
- an independent project which uses source code based on the Interbase source code released
+ <li>The <a href="http://firebird.sourceforge.net/index.php">Firebird Relational Database</a> is
+ is an independent project which uses source code based on the Interbase source code released
by Borland under the Interbase Public License</li>
<li>Both the Firebird Relational Database and the Firebird .NET Data Provider can be
downloaded from <a href="http://sourceforge.net/projects/firebird/">here</a></li>
<li>The Firebird .NET Data provider has been made
- available by Carlos Guzmán Álvarez (aka "Carlos G.A."), who has also made a
- number of contributions to the OdbcJdbc code</li>
+ available by Carlos Guzmán Álvarez (aka "Carlos G.A."), who has also made a
+ number of contributions to the OdbcJdbc code</li>
+
+ <li>Bugs with Mono or the data provider should be reported
+ in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
+ do not have Bugzilla user account, it is free
+ and easy to create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
</ul>
** Current Status
-<ul>
- <li>Currently, it is able to connect to Firebird and Interbase databases
- and execute commands</li>
-
- <li>The new data
- provider/driver is written in C# and provides a high-performance native
+<ul>
+ <li>Current stable version: 1.0</li>
+
+ <li>Current developement version: 1.5</li>
+
+ <li>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</li>
<li>In support of the new module, a new mailing list
<a href="http://lists.sourceforge.net/lists/listinfo/firebird-net-provider">firebird-net-provider</a> has
been created. Please use this list for any
- questions that you may have about the provider</li>
-
- <li>Stuff that works:
- <ul>\r
- <li>Currently implemented classes: \r
- <ul>\r
- <li>Connection and Connection Pooling</li> \r
- <li>Command</li>\r
- <li>Transaction</li>\r
- <li>CommandBuilder</li>\r
- <li>DataAdapter</li>\r
- <li>DataReader</li>\r
- <li>Error</li>\r
- <li>ErrorCollection</li>\r
- <li>Exception</li>\r
- <li>Parameter</li>\r
- <li>ParameterCollection</li>\r
- <li>Transaction</li>\r
- </ul>\r
- </li> \r
- </ul>
- </li>
-
+ questions that you may have about the provider</li>
</ul>
-
-** Action Plan
-<ul>
- <li>Bug fixing</li>\r
- <li>Improving API reference documentation</li>\r
- <li>Full testing with Firebird 1.5</li>\r
- <li>Test with Mono ( http://www.go-mono.com )\r
- <ul>\r
- <li>Status : Started</li>\r
- </ul>\r
- </li>\r
- \r
- <li>Support for array datatype\r
- <ul>\r
- <li>Status : Started</li>\r
- <li>Comments: See Interbase API reference documentation</li>\r
- <li>Add new file FbArray.cs for array fields management</li>\r
- </ul>\r
- </li>\r
-\r
- <li>Support for Stored Procs calls that have returns values\r
- <ul>\r
- <li>Status : Pending.</li>\r
- <li>Comments: Modify the isc_dsql_prepare method of GDS implementation for\r
- allow to return the output parameters.</li>\r
- </ul>\r
- </li>\r
- \r
- <li>Implementation of FbClientPermission and FbClientPermissionAttribute\r
- <ul>\r
- <li>Status : Pending</li>\r
- <li>Comments: See if these are really needed for Firebird</li>\r
- </ul>\r
- </li>\r
-\r
- <li>Improve Logger implementation\r
- <ul>\r
- <li>Status: Pending</li>
- </ul>
- </li>
-
-</ul>
+** New features & enhancements in 1.5 version
+<ul>
+ <li>Better fit to ADO.NET</li>
+
+ <li>New GDS implementation</li>
+
+ <li>Implicit transaction support</li>
+
+ <li>Array datatype support</li>
+
+ <li>Firebird services API support</li>
+
+ <li>Firebird events API support</li>
+
+ <li>Stored procedure calls using Sql Server style</li>
+
+ <li>Support for retrieve database schema information ( FbConnection.GetDbSchema )</li>
+
+ <li>Improved Commandbuilder implementation</li>
+</ul>
+
** Testing
<ul>
+
<li>Need a working mono and mcs</li>
+
<li>Need access to a Firebird Relational Database or you can download
it from <a href="http://firebird.sourceforge.net">here</a></li>
+
<li>Get the Firebird .NET data provider from here as
<a href="http://lists.sourceforge.net/lists/listinfo/firebird-net-provider">firebird-net-provider</a>. Make
sure the Firebird .NET data provider binary assembly FirebirdSql.Data.Firebird.dll is
installed in the same place as the mono class libraries.</li>
- <li>C# Example for Mono's System.Data.OleDb:
+
+ <li>Has a ConnectionString format:
+<pre>
+ "Database=databasefile.gdb;User=user;Password=pass;Dialect=3;Server=hostname"
+</pre>
+
+ </li>
+
+ <li>C# Example:
+
<pre>
using System;
using System.Data;
{
public static void Main(string[] args)
{
- string connectionString = \r
- "Database=C:\\PROGRAM FILES\\FIREBIRD\\EXAMPLES\\EMPLOYEE.GDB;" +\r
- "User=SYSDBA;" +\r
- "Password=masterkey;" +\r
- "Dialect=3;" +\r
- "Server=localhost";\r
+ string connectionString =
+ "Database=C:\\PROGRAM FILES\\FIREBIRD\\EXAMPLES\\EMPLOYEE.GDB;" +
+ "User=SYSDBA;" +
+ "Password=masterkey;" +
+ "Dialect=3;" +
+ "Server=localhost";
+
IDbConnection dbcon = new FbConnection(connectionString);
+ dbcon.Open();
IDbCommand dbcmd = dbcon.CreateCommand();
string sql = "SELECT * FROM employee";
- dbcmd.ConnectionString = sql;
+ dbcmd.CommandText = sql;
IDataReader reader = dbcmd.ExecuteReader();
while(reader.Read()) {
- object dataValue = myReader.GetValue(0);
+ object dataValue = reader.GetValue(0);
string sValue = dataValue.ToString();
Console.WriteLine("Value: " + sValue);
}