English version Russian version

Three Reasons Why You Should Upgrade to the New IBProvider

Very often in our programs, we forget or are too lazy to check the data we transfer to our database. We believe that a smart Firebird or Interbase server will solve the possible issues itself, although this is not its task.

In extremely advanced cases, the data inputted by a user is immediately converted to the necessary type via CAST without any verification.

As a result, a user inputs a "bunk", a DBMS driver transfers the "bunk" to the server, and the server returns an error to the user. Your users start hating you because "your programs are glitchy and your fingers are all thumbs" and you hate users who are unable to input text properly.


Guess what the user will think of you
when he sees this error on his screen?


What Can I Do So My Programs Don’t "Glitch"?

Use Firebird and Interbase access components that have implemented control over the inputted data and their "smart conversion" into the server supported format. This will substantially reduce the amount of work you have with inputted data control and its coercion to the database types.

For instance, the new IBProvider itself provides “smart conversion” of text into DBTYPE_R8 (DOUBLE). In particular:

  • It controls overflow.
  • Flexible scalability algorithm prevents problems similar to CORE-2857 .

For example:


dim cn
set cn = CreateObject("ADODB.Connection")

cn.ConnectionString = "Provider=LCPI.IBProvider.3;Location=localhost:employee.fdb; User ID=SYSDBA;Password=masterkey"
cn.Properties("auto_commit_ddl") = 1 'run DDL in separate trans
cn.Open
cn.BeginTrans
cn.Execute("RECREATE TABLE TBL_R8 (R8 DOUBLE PRECISION)")

dim cmd
set cmd=createobject("ADODB.Command")
cmd.ActiveConnection=cn
cmd.CommandText="insert into TBL_R8 VALUES (?)"
cmd.Parameters.Append cmd.CreateParameter(,8) 'adBSTR

wscript.echo "------------------------------------------"
cmd(0).value="1."&string(1024,"0")
wscript.echo "insert value to TBL_R8: "&cstr(cmd(0).value)
cmd.execute

' or very huge double 
'cmd(0).value="1"&string(1000*1000,"0")&"E-1000000"
'wscript.echo "------------------------------------------"
'wscript.echo "value2: "&cstr(cmd(0).value)
'cmd.execute

cn.CommitTrans

call cn.close()

After script execution, the screen will display the value of the input parameter that will be converted into DOUBLE PRECISSION and added to the database:


------------------------------------------
insert value to TBL_R8: 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

If you work via the new IBProvider, such queries will NOT return the error of arithmetic exception, numeric overflow, or string truncation.



In 10 years of working with the IBProvider project,
we have FREQUENTLY come across similar PROBLEMS.

The recent case with text conversion into the DOUBLE type is by far not the only one. In 10 years of working with the IBProvider project, we have FREQUENTLY come across similar PROBLEMS:

  • The problem with accuracy when converting into DOUBLE
  • The problem working with NUMERIC types on .
  • Non-supported types (GUID, BOOL, MS SQL TIME and so on)
  • And many other problems due to which our "smart type converter" appeared.

How Are the Problems with Type Conversion Solved?

IBProvider has implemented its own "smart type converter", which:

  • Is compatible with all Windows versions, because it uses its own type conversion functions passing over the WinAPI.
  • In most cases, doesn’t require the explicit type of coercion to the database type, because it supports on-the-fly coercion of simple types, VARIANT type, arrays and binary data.
  • Emulates BOOL and GUID types absent in Firebird.
  • You don’t need to write your text recorders anymore. The type converter has a unique mechanism that supports on-the-fly text conversions of 49 charsets, including UNICODE, UTF-8, OCTETS, and NONE.

How can you make sure that your access component works PROPERLY?

Implementing a perfect opportunity in the program code is not enough, it is necessary to make sure that the code will work ERROR-FREE in the most unpredictable situations. It is especially topical for complicated programs such as database access components.

The only way to check if the component works properly is to employ an automatic test system. Otherwise you will inevitably have:

  • Memory leaks;
  • Critical shutdowns of applications;
  • Inconsistent error messages that cannot be debugged;
Currently, each (!) new IBProvider release undergoes about
half a million automatic tests!

IBProvider team released 12 new versions in 2009 and already three versions in 2010

In all the releases, we P-R-O-M-P-T-L-Y (promptly) implemented new functionality and solved known issues. We do not take money for new versions not released!

If you purchase IBProvider right now, you are guaranteed 1 year of free updates.

Do you want to make certain that you receive full-fledged releases and not raw builds?

Look through our news at least for the recent year.

For instance, in addition to the "smart conversion" of text into DOUBLE, in the new IBProvider version:

  • Algorithms for reading/recording of properties have been optimized.
  • The initialization property “Multiple Parameter Sets” is now TRUE by default. (v3)
  • The initialization property “rowset_vm_using” is now -1 by default. This disables the memory manager based on VirtualAlloc+SEH.
  • The error was fixed: ability to change RO properties when setting VT_EMPTY values.
  • The initialization property “Window Handle” is not saved in connection settings file anymore.
  • The provider uses UTF8 charset when saving initialization parameters into the file (IPersistFile interface)
  • Processing of errors in the IPersistFile interface methods has been improved.
  • Multiple inner changes.

Order IBProvider right now to
RECEIVE 1 year of FREE updates

The first 8, 5 4 purchasers will receive one more gift:
1 additional IBProvider update after the one year subscription ends..

Get IBProvider right now >>


Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb All

Publish date: 15-03-2010. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link to http://www.ibprovider.com required. Printable version: Three Reasons Why You Should Upgrade to the New IBProvider

All IBProvider news:
15-03-2010 Three Reasons Why You Should Upgrade to the New IBProvider
14-02-2010 Be quick to get a free license for IBProvider Professional v.3.0.00.8628
18-01-2010 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.
15-12-2009 We have improved PROCEDURES scheme loaders to obtain the text of stored procedures in PROCEDURE_DEFINITION.
16-11-2009 Performance of the new IBProvider increased by 4.5 times
07-10-2009 IBProvider 3.0.0.7798. The work with large volumes of data was improved.
13-08-2009 New IBProvider 3.0.0.7575 with queries pool and enhanced working with Delphi.
10-07-2009 IBProvider now supports free ways of NULL-processing.
04-07-2009 New IBProvider version can emulate BOOLEAN and GUID types when working with Firebird and Interbase.
11-06-2009 New IBProvider version has the option of cancelling commands execution and supports the new type of Firebird 2.5 queries containing SQL_NULL.
05-05-2009 New IBProvider versions have the option of working with TIME type via MS SQL Linked Server and the enhanced self-descriptiveness of error messages when working with temporary files.
17-04-2009 16 versions of Firebird and Interbase are now available for recording on 64-bit platforms via MS SQL Linked Server.
05-03-2009 IBProvider v3 Release Candidate 4 with enhanced DDEX support and optimized working with nominated parameters. Metadata can now be accessed in user encoding.
16-02-2009 New IBProvider allows comprehensive work in Unicode applications, enhanced work with NONE encoding, and supports charset markers.
12-01-2009 The brand new mechanism has been developed in IBProvider v3 for working with Firebird and Interbase text data charsets.
06-11-2008 New IBProvider - support of 49 code pages, ability to work without provider registering, prevention of memory leaks in Firebird client.
03-10-2008 In the new edition of IBProvider Professional 7 codepages support was implemented, bugs were fixed, BLOB-fields access and memory management was improved
25-08-2008 The 6 world-wide Firebird Conference in Bergamo, Italy
30-07-2008 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.
08-07-2008 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.
17-06-2008 IBProvider releases have appeared. OCTETS character set support, data type converter release, 64 bits values in metadata schematics.
12-05-2008 IBProvider releases have appeared. New implementation of the data types converter.
07-04-2008 New IBProvider v3 for 64 bits operational systems.
11-03-2008 New build No 3965 of IBProvider v 3.0 RC2 has appeared.
08-02-2008 New IBProvider releases have appeared. Visual Studio 2008 support and DTC support were improved, known bugs were fixed and Firebird/Interbase compatibility was enhanced.
26-12-2007 We have changed the IBProvider license agreements and now give discounts.
08-11-2007 The second Russian Firebird and Interbase conference will take place in Moscow, November 23, 2007
30-10-2007 IBProvider Free Edition (3.0.0.3313 Release Candidate 2 [RC2]) has appeared.
29-10-2007 IBProvider v3 Release Candidate 2 (RC2) has appeared.
18-10-2007 New release of the IBProvider Professional Edition appears. We have improved Integration with Microsoft office and fixed known bugs.
13-09-2007 New providers versions in the Professional Edition now can be used with Microsoft SQL Server 2005 Business Intelligence Development Studio
20-07-2007 The latest editions of IBProvider Professional and IBProvider Free now support new features of Firebird 2.1
25-05-2007 Download engine now working. All customers will receive personal releases more quikly.
27-04-2007 The latest editions of IBProvider Professional and IBProvider Free are available for download.
13-12-2006 C++ client library for OLE DB-providers now support the Unicode project types (which based on unicode strings).
04-12-2006 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.
07-10-2006 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.
28-08-2006 IBProvider 3.0.0.2065 [Beta]. IBProvider 2.4.7.2034 [Release]. MSSQL 2000/2005 integration improvement.
13-08-2006 IBProvider 3.0.0.1959 [Beta]. IBProvider 2.4.6.1989 [Release]. Ñ++ library for OLEDB providers now support VC8 (VS2005)
25-05-2006 IBProvider 3.0.0.1324 [Beta]. IBProvider 2.4.5.1953 [Release]. Client Library for C++.
05-05-2006 IBProvider price will be changed after 23 may 2006. New demo versions are avalible
30-03-2006 IBProvider release v.2.4.4 (v.1.7.26) build 1885 now available. IBProvider v.3 [build 1107. beta]
27-02-2006 IBProvider v.1/v.2 [build 1877 Release Candidate 1]. IBProvider v.3 [build 1062. beta]
30-11-2005 IBProvider 2.4.3.1859. Release.
01-11-2005 Fix of problem with arithmetic errors in .NET applications.
28-09-2005 IBProvider v3 [build 913] [beta version].
22-09-2005 IBProvider v3 [build 890] [beta version]. IBProvider v2/v1 [build 1811].
01-09-2005 The InterBase and Firebird Developer Magazine.
28-07-2005 IBProvider v3 [build 789] [beta version]. IBProvider v2/v1 [build 1802].
15-06-2005 IBProvider v3 [build 779] [beta version]. IBProvider v2/v1 [build 1795].
12-04-2005 IBProvider User Forum is Open
22-03-2005 IBProvider 2.4.2.1772. Release.
28-02-2005 IBProvider 3.0.0.639 beta. Change of the corporate license.
11-02-2005 IBProvider 3.0.0.573 beta.
24-12-2004 IBProvider 3.0.0.449 beta.
12-11-2004 IBProvider 2.4.1.1720/1.7.23.1720. Release.
31-05-2004 IBProvider 2.4.0.1607/1.7.22.1607. Release.
14-05-2004 Release Candidate 2.4.0.1588/1.7.22.1588
30-04-2004 Version 2.3.3.1523 beta
29-03-2004 Version 2.3.3.1416 beta
17-12-2003 Version 2.3.3.1300
18-10-2003 Version 2.3.2.1233
22-08-2003 Version 2.3.1.1184
25-06-2003 Version 2.3.0.1134 - extended support of MS AS, MS SQL
23-04-2003 Version 2.2.0.969 - Data Links dialog support, localization
31-03-2003 Version 2.1.2.
26-03-2003 Version 2.1.1.
04-03-2003 Version 2.1. The error processing mechanism is completely reconstructed.
26-02-2003 Discounts on IBProvider.
18-02-2003 Changes in License Terms
23-01-2003 Version 2.0.1.735. Bug fix, optimization, HTML help
10-12-2002 The second generation IBProvider
21-11-2002 Version 1.7.11.584 and 1.8.0.584 beta
06-11-2002 Version 1.7.10.542 and 1.8.0.542 beta
20-10-2002 Version 1.7.9.481 and 1.8.0.481 beta
12-08-2002 Version 1.7.6.350 and 1.8.0.350 beta
30-07-2002 Version 1.7.5.311 - Bugs fixing
10-07-2002 Version 1.7.4.289
20-06-2002 Version 1.7.3.269
30-05-2002 Version 1.7.2.255
08-05-2002 Version 1.7.1
22-04-2002 Version 1.7.0.227. Support of UNICODE. New prices.
29-03-2002 Version 1.6.3.213
28-02-2002 Version 1.6.2.201
08-02-2002 Version 1.6.2.199
19-01-2002 Version 1.6.1.185
24-12-2001 Free Version 1.5.2
13-12-2001 Version 1.6
14-11-2001 1.5.1 - Change of Compiler. Optimization. IColumnsRowset. etc.
30-08-2001 IN-OUT Parameters. Arrays. ....
16-07-2001 Error with test of connection in Data Links
21-05-2001 Support of stored procedure
16-05-2001 New samples on Delphi for MTS from Andrei Semak
14-05-2001 The final touches to RowSet
30-04-2001 Commercial release
20-04-2001 Support of DTC and Resource pooling
04-04-2001 Support of null-containing character arrays
16-03-2001 Implementaion of IOpenRowset::OpenRowset
15-03-2001 Support of DECIMAL and NUMERIC
12-03-2001 Errors correction...
01-03-2001 Fix bug in command prepare
03-01-2001 The main cardinal change is in accordance with implementation of operation auto-commit support.
01-12-2000 IBProvider and client library Reconstruction.
15-09-2000 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