English version Russian version

New IBProvider version has the option of cancelling commands execution and supports the new type of Firebird 2.5 queries containing SQL_NULL

Commands cancellation support in Firebird 2.5 and Interbase 6.5

The new IBProvider version has implemented the option of commands execution cancellation. The query itself and cancellation operation shall be performed in different streams.

Minimum requirements:
Server and client part Interbase 6.5 or above, Firebird 2.5 or above.

Test example on C#:
Before doing the example, run the following DLL query:

CREATE OR ALTER PROCEDURE SP_EXEC_DUMMY_COUNTER (n integer)
 AS
 BEGIN
  WHILE(N>0)DO
   BEGIN
	N=N-1;
  END
 END

Example code:

[Test(Description = "Sample - Command.Cancel")]
public void CancelCommand()
{
     using (OleDbConnection con = ConnectionProvider.CreateConnection())
     {
        con.Open();
        OleDbTransaction trans = con.BeginTransaction();

        cmd.CommandText = "exec SP_EXEC_DUMMY_COUNTER(5000000)";
        
        // call cmd.ExecuteScalar using BackgroundWorker class
        BackgroundWorker bw = new BackgroundWorker();
        bw.DoWork += delegate(object sender, DoWorkEventArgs e)
        {
            OleDbCommand cmd1 = e.Argument as OleDbCommand;
            Console.WriteLine("begin call");
            cmd1.ExecuteScalar();
            Console.WriteLine("end call");                   
        };
            
        bw.RunWorkerAsync(cmd);

        //Cancel command after 500 miliseconds
        System.Threading.Thread.Sleep(500);
        cmd.Cancel(); 
        
        // waiting while cancel perform
        while (bw.IsBusy) { System.Threading.Thread.Sleep(500); }
        trans.Commit();
    }
}

Test example in C++ can be seen in: TestCode\ActiveX\IBP\oledb_test\source\tso_command\ibp_tso_cmd_014_cancel.cpp

Support of new data type SQL_NULL in Firebird 2.5

Firebird 2.5 has acquired the option of running queries with expressions of «? is NULL» type. This is achieved with the help of new data type - SQL_NULL. IBProvider can process SQL_NULL for named and positional parameters.

Example:

select count(*) from PROJECT where :par_null is NULL

If par_null parameter value is NULL, condition WHERE will be met and the command will return the number of entries in table PROJECT, otherwise the command will return 0. The following is the full text of the example in VBScript:

dim cn, cmd, rs

set cn = wscript.createobject("adodb.connection")
call cn.open("Provider=LCPI.IBProvider.3;Password=masterkey;" & _
             "Persist Security Info=True;User ID=sysdba; " & _
             "Location=localhost:EMPLOYEE.FDB; dbclient_library=fbclient.dll")

cn.BeginTrans

WScript.Echo "IB Base=" & cn.Properties("IB Base").Value
WScript.Echo "IB Client Version=" & cn.Properties("IB Client Version").Value
WScript.Echo "Provider Version =" & cn.Properties("Provider Version").Value

set cmd = WScript.Createobject("adodb.command")
cmd.activeconnection = cn
cmd.CommandText = "select count(*) from PROJECT where :par_null is NULL"
cmd("par_null").Value = null

set rs=cmd.Execute

WScript.Echo cstr(rs(0))

cn.CommitTrans
cn.Close

The same example on C#:

[Test(Description = "Sample -  'is NULL' operator")]
public void ExecIsNullCommand()
{
  using (OleDbConnection con = ConnectionProvider.CreateConnection())
  {                
  con.Open();
  OleDbTransaction trans = con.BeginTransaction();

  OleDbCommand cmd = 
new OleDbCommand("select (*) from PROJECT where ? is NULL", con, trans);
  cmd.Parameters.AddWithValue("", null);

  // if cmd parameter is null then command will return count result                
  Assert.IsTrue((int)cmd.ExecuteScalar() > 0);
  trans.Commit();
  }
}

Minimum requirements:
Server and client parts Firebird 2.5 Beta 1 or above

Access to BLOB fields from ADOExpress (dbGo) bug was fixed

Bug with BLOB fieds access was fixed. In the previous versions of IBProvider error message may appeared Write BLOB: User storage-object works incorrectly during writing BLOB data via ADOExpress (DbGo). Read details here: IB-native IN-parameter value create failed.

New implementation of result sets cache

  • Asynchronous writing (in a separate stream) into own swap file has been implemented.
  • Writing into a temporary file has been optimized.

Finally

Along with implementation of support for new Firebird 2.5 options we are constantly working on the improvement of IBProvider core, implement new services that allow retaining driver's flexibility and scalability when extending its functionality.

New IBProvider Professional 3.0.0.7270 RC4 is available for download
Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb All

Publish date: 2009-06-11. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link to http://www.ibprovider.com required. Printable version: New IBProvider version has the option of cancelling commands execution and supports the new type of Firebird 2.5 queries containing SQL_NULL

All IBProvider news:
2011-11-15 The new IBProvider 3.9.4 improves compatibility with .NET. Fixed known bugs.
2011-09-23 New IBProvider v3.9.1 become more faster.
2011-08-22 The new version of IBProvider v.3.9 is delivered with the warranty(!) of stable performance within systems operating around the clock.
2011-06-07 IBProvider v3.8.2. Are your data access components ready for Firebird 3?
2011-05-11 IBProvider v3.8. UDF in metadata schemas. Configuring of transaction isolation parameters. New "Free".
2011-04-03 IBProvider v3.7. Support for BOOLEAN [Firebird v3].
2011-03-03 IBProvider v3.6. New interfaces for rowset and new metadata schema.
2011-02-14 IBProvider v3.5. Support for Firebird 2.5.1. Automatic generation of SQL queries has been improved. Support for parameters in SQL scripts.
2011-01-14 4 key distinctions of the new IBProvider v3.4 that make your applications faster
2010-12-18 In the new IBProvider version, we introduced support of the BASE64 charset of InterBase XE, improved algorithms, reduced requirements to memory and corrected errors
2010-11-16 Do you want to enable execution of SQL scripts in your programs and spend less time for exhausting coding?
2010-11-11 Do you want to receive the full-featured IBProvider 64/32? Participate in our contest!
2010-10-20 Do you use TIME and TIMESTAMP in your applications? The new IBProvider version will further simplify your work!
2010-09-16 The new IBProvider version has a new interface and can work correctly with case-dependent names of database objects via MS SQL.
2010-08-26 Download the final build of IBProvider Professional v3(!).
2010-07-08 New IBProvider Professional v3 RC5 that supports updatable rowsets is now available.
2010-06-11 Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
2010-05-07 New IBProvider 3.0.0.9496 RC4 release appeared. Query parameters parsing and COM-locking was updated.
2010-04-19 Changes in SQL-parser. Support for SQLSTATE and NativeError.
2010-03-15 Three Reasons Why You Should Upgrade to the New IBProvider
2010-02-14 Be quick to get a free license for IBProvider Professional v.3.0.00.8628
2010-01-18 Today, on January 18, 2010, IBProvider celebrates its 10th anniversary. The grand banquet is preceded by the release of the latest IBProvider version with enhanced support of DDL and updatable rowsets.
2009-12-15 We have improved PROCEDURES scheme loaders to obtain the text of stored procedures in PROCEDURE_DEFINITION.
2009-11-16 Performance of the new IBProvider increased by 4.5 times
2009-10-07 IBProvider 3.0.0.7798. The work with large volumes of data was improved.
2009-08-13 New IBProvider 3.0.0.7575 with queries pool and enhanced working with Delphi.
2009-07-10 IBProvider now supports free ways of NULL-processing.
2009-07-04 New IBProvider version can emulate BOOLEAN and GUID types when working with Firebird and Interbase.
2009-06-11 New IBProvider version has the option of cancelling commands execution and supports the new type of Firebird 2.5 queries containing SQL_NULL.
2009-05-05 The option of working with TIME type via MS SQL Linked Server.
2009-04-17 16 versions of Firebird and Interbase are now available for recording on 64-bit platforms via MS SQL Linked Server.
2009-03-05 IBProvider v3 Release Candidate 4 with enhanced DDEX support and optimized working with nominated parameters. Metadata can now be accessed in user encoding.
2009-02-16 New IBProvider allows comprehensive work in Unicode applications, enhanced work with NONE encoding, and supports charset markers.
2009-01-12 The brand new mechanism has been developed in IBProvider v3 for working with Firebird and Interbase text data charsets.
2008-11-06 New IBProvider - support of 49 code pages, ability to work without provider registering, prevention of memory leaks in Firebird client.
2008-10-03 In the new edition of IBProvider Professional 7 codepages support was implemented, bugs were fixed, BLOB-fields access and memory management was improved
2008-08-25 The 6 world-wide Firebird Conference in Bergamo, Italy
2008-07-30 IBProvider updates are available. Operation with NUMERIC-types and connection pooling were improved. External and temporary tables support in metadata schemes was added. Disabled metadata cache mode performance was increased in 2.5 times.
2008-07-08 New IBProvider Release Candidate 3 is available. Support of the integrated Windows authentication (SSPI) for Firebird 2.1, Support of long names and BOOLEAN type in Interbase 7.x and Interbase 2007, etc.
2008-06-17 IBProvider releases have appeared. OCTETS character set support, data type converter release, 64 bits values in metadata schematics.
2008-05-12 IBProvider releases have appeared. New implementation of the data types converter.
2008-04-07 New IBProvider v3 for 64 bits operational systems.
2008-03-11 New build No 3965 of IBProvider v 3.0 RC2 has appeared.
2008-02-08 Visual Studio 2008 support was improved, work with DTC was corrected, known bugs were fixed and Firebird/Interbase compatibility was enhanced.
2007-12-26 We have changed the IBProvider license agreements and now give discounts.
2007-11-08 The second Russian Firebird and Interbase conference will take place in Moscow, November 23, 2007
2007-10-30 IBProvider Free Edition (3.0.0.3313 Release Candidate 2 [RC2]) has appeared.
2007-10-29 IBProvider v3 Release Candidate 2 (RC2) has appeared.
2007-10-18 New release of the IBProvider Professional Edition appears. We have improved Integration with Microsoft office and fixed known bugs.
2007-09-13 New providers versions in the Professional Edition now can be used with Microsoft SQL Server 2005 Business Intelligence Development Studio
2007-07-20 The latest editions of IBProvider Professional and IBProvider Free now support new features of Firebird 2.1
2007-05-25 Download engine now working. All customers will receive personal releases more quikly.
2007-04-27 The latest editions of IBProvider Professional and IBProvider Free are available for download.
2006-12-13 C++ client library for OLEDB providers now support the Unicode project types (which based on unicode strings).
2006-12-04 New releases appear: IBProvider Professional Edition - is a professional developer kit for Interbase and Firebird. IBProvider Free Edition - is an absolutely free of charge and most powerful version based on the commercial core of IBProvider v3.
2006-10-07 IBProvider 3.0.0.2385 [RC1] and IBProvider 2.5.0.2088 [Release] now avaliable. New properties aliases: Charset, PSWD. Metadata reading algorithm and SQL parser was optimized. Supporting arrays in ADO .Net.
2006-08-28 IBProvider 3.0.0.2065 [Beta]. IBProvider 2.4.7.2034 [Release]. MSSQL 2000/2005 integration improvement.
2006-08-13 IBProvider 3.0.0.1959 [Beta]. IBProvider 2.4.6.1989 [Release]. C++ library for OLEDB providers now support VC8 (VS2005)
2006-05-25 IBProvider 3.0.0.1324 [Beta]. IBProvider 2.4.5.1953 [Release]. Client Library for C++.
2006-05-05 IBProvider price will be changed after 23 may 2006. New demo versions are avalible
2006-03-30 IBProvider release v.2.4.4 (v.1.7.26) build 1885. IBProvider v.3 [build 1107 beta]
2006-02-27 IBProvider v.1/v.2 [build 1877 Release Candidate 1]. IBProvider v.3 [build 1062. beta]
2005-11-30 IBProvider 2.4.3.1859. Release.
2005-11-01 Fix of problem with arithmetic errors in .NET applications.
2005-09-28 IBProvider v3 [build 913] [beta version].
2005-09-22 IBProvider v3 [build 890] [beta version]. IBProvider v2/v1 [build 1811].
2005-09-01 The InterBase and Firebird Developer Magazine.
2005-07-28 IBProvider v3 [build 789] [beta version]. IBProvider v2/v1 [build 1802].
2005-06-15 IBProvider v3 [build 779] [beta version]. IBProvider v2/v1 [build 1795].
2005-04-12 IBProvider User Forum is Open
2005-03-22 IBProvider 2.4.2.1772. Release.
2005-02-28 IBProvider 3.0.0.639 beta. Change of the corporate license.
2005-02-11 IBProvider 3.0.0.573 beta.
2004-12-24 IBProvider 3.0.0.449 beta.
2004-11-12 IBProvider 2.4.1.1720/1.7.23.1720. Release.
2004-05-31 IBProvider 2.4.0.1607/1.7.22.1607. Release.
2004-05-14 Release Candidate 2.4.0.1588/1.7.22.1588
2004-04-30 Version 2.3.3.1523 beta
2004-03-29 Version 2.3.3.1416 beta
2003-12-17 Version 2.3.3.1300
2003-10-18 Version 2.3.2.1233
2003-08-22 Version 2.3.1.1184
2003-06-25 Version 2.3.0.1134 - extended support of MS AS, MS SQL
2003-04-23 Version 2.2.0.969 - Data Links dialog support, localization
2003-03-31 Version 2.1.2.
2003-03-26 Version 2.1.1.
2003-03-04 Version 2.1. The error processing mechanism is completely reconstructed.
2003-02-26 Discounts on IBProvider.
2003-02-18 Changes in License Terms
2003-01-23 Version 2.0.1.735. Bug fix, optimization, HTML help
2002-12-10 The second generation IBProvider
2002-11-21 Version 1.7.11.584 and 1.8.0.584 beta
2002-11-06 Version 1.7.10.542 and 1.8.0.542 beta
2002-10-20 Version 1.7.9.481 and 1.8.0.481 beta
2002-08-12 Version 1.7.6.350 and 1.8.0.350 beta
2002-07-30 Version 1.7.5.311 - Bugs fixing
2002-07-10 Version 1.7.4.289
2002-06-20 Version 1.7.3.269
2002-05-30 Version 1.7.2.255
2002-05-08 Version 1.7.1
2002-04-22 Version 1.7.0.227. Support of UNICODE. New prices.
2002-03-29 Version 1.6.3.213
2002-02-28 Version 1.6.2.201
2002-02-08 Version 1.6.2.199
2002-01-19 Version 1.6.1.185
2001-12-24 Free Version 1.5.2
2001-12-13 Version 1.6
2001-11-14 1.5.1 - Change of Compiler. Optimization. IColumnsRowset. etc.
2001-08-30 IN-OUT Parameters. Arrays. ....
2001-07-16 Error with test of connection in Data Links
2001-05-21 Support of stored procedure
2001-05-16 New samples on Delphi for MTS from Andrei Semak
2001-05-14 The final touches to RowSet
2001-04-30 Commercial release
2001-04-20 Support of DTC and Resource pooling
2001-04-04 Support for null-containing character in strings
2001-03-16 Implementaion of IOpenRowset::OpenRowset
2001-03-15 Support of DECIMAL and NUMERIC
2001-03-12 Errors correction...
2001-03-01 Fix bug in command prepare
2001-01-03 The main cardinal change is in accordance with implementation of operation auto-commit support.
2000-12-01 IBProvider and client library Reconstruction.
2000-09-15 New version of IBProvider for IB6.

Tags: Firebird, Firebird Delphi, Interbase Delphi, Firebird Download, Firebird ODBC driver, Interbase ODBC, Integration Services (SSIS), Firebird, Interbase и SQL Linked Server (MS SQL), Firebird .Net Provider, Visual Studio .Net 2008, (c#), Firebird 2.1, Firebird 2.0, Firebird 2, Firebird 64 bit, Interbase 64 bit, Interbase oledb provider, Interbase driver, Firebird ole db provider, Firebird driver


Prev Next