FAQs
Home Documentation Support Resource FAQs Known Problems Download

 

Frequent Asked Questions

General Questions

  1. What is OleDBPro?
            OleDBPro, a dynamic link library, is a thin but powerful OLEDB (Object-Linking and Embedding DataBase) consumer with a set of templates supporting the latest OLEDB version 2.7 specification of Microsoft Universal Data Access (UDA) technology. It is a light software component (132K) for fast and easy development of applications accessing all of your data sources, including relational database management systems (DBMSs), non-relational DBMSs, multidimensional Online Analytical Processing Services (OLAPs), and XML query. 
  2. How can I use OleDBPro? What development environment is required?
            The required development environment is either Visual C++ (version 5 or later) or Borland C++Builder (version 5 or later). There is an instruction with examples to tell you how to use the library. You can use the library with MFC, ATL, VCL, and so on.

  3. OleDBPro runs fast? How fast is OleDBPro? It is comparable with ATL consumer templates in speed?
            Yes, OleDBPro runs fast! OleDBPro is optimized for C++ development. OleDBPro is designed for the best speed for both retrieving and updating records with the batch mode by default.
            A. In regards to retrieving records, OleDBPro is always faster than CBulkRowset with a dynamic accessor, and by default very close (usually 1-2% difference, always less than 3%) to CBulkRowset with a WELL-DEFINED user accessor in ATL consumer templates under the same conditions. OleDBPro can be configured with the same speed as CBulkRowset with a WELL-DEFINED user accessor at run time by using CRBase::SetDBPart. However, with use of OleDBPro unique feature, OleDBPro is faster than ATL consumer templates. 
            B. In regards to updating records, if updating records is made through a rowset, OleDBPro has the same speed with ATL consumer templates. However, if using command with a parameterized statement or stored procedure, by default OleDBPro is much faster than ATL consumer templates because OleDBPro uses the batch mode to send multiple sets of parameters into a server with a single call.             
            C.
    OleDBPro provides a number of ways to improve data accessing speed. We would invite you to read through the short article Why do you need to use OleDBPro instead of ADO and ATL consumer templates? Additionally, please see what benefits OleDBPro provides to you.

  4. I know OLEDB is complicate. Is it easy to use OleDBPro? Why is OleDBPro easy to use, and tell me reasons?
            OLEDB is indeed complicate, but OleDBPro is simple to learn and to use. It is designed by the following guide lines: 
            A. A user never has to deal with an accessor directly, no matter what the statement and resultant rowset are. This reduces tons of OLEDB programming pitfalls and tricks.
            B. OleDBPro dramatically simplifies data type conversions, BLOBs managements and error message managements, no matter how complicate a statement or a resultant rowset is. A user will never meet this kind of problems.
            C. OleDBPro wraps all the tough interface methods of OLEDB.
            D. OleDBPro provides enough real examples covering all aspects of OLEDB consumer programming. Most of examples are very generic, advanced and highly reusable. You can quickly modify them for your development.
            E. OleDBPro is carefully written to avoid many OLEDB-related questions posted in various discussion groups. 

  5. OleDBPro wraps all the methods of all the OLEDB interfaces? If not, is OleDBPro extensible?
            OleDBPro doesn't encapsulate all the methods of all the OLEDB interfaces available. However, OleDBPro indeed wraps all the methods of OLEDB interfaces which are either common or tough to be used with application developments. For a list of wrapped interfaces, click here.
            OleDBPro is highly extensible. You can subclass any one of OleDBPro classes or templates. You can also overwrite a function.  If a user does need a method which is not found in OleDBPro, he or she can easily derive a new class from OleDBPro based on an interface method, because all the tough methods or interfaces are already included in OleDBPro and the rest methods of OLEDB interfaces are easy to use and call. In case a user accidentally make an obvious programming error when extending OleDBPro, OleDBPro is able to track it and inform the error message to him or her.

  6. Does OleDBPro support resource pooling?
            Yes! See the attached example Pooling which connects 3000 times to SQL Server, and Oracle with both ODBC and native ORACLE Oracle OLEDB provider. It takes just about 3 seconds!

  7. Is OleDBPro absolutely bug-free? Is OleDBPro perfect? Is OleDBPro robust? What OLEDB providers were used to test OleDBPro module?
            First of all, no software component in the world can be claimed to be absolutely bug-free and perfect. OleDBPro is no exception. However, we are trying our best to approach it. It is dependent to us, and also to you. If you meet a problem, please let us known. We think that your bug report or message is VERY VERY VERY precious to us.  
            We think OleDBPro is robust. Currently, OleDBPro has been extensively tested on the following providers:
            MS ODBC, MS Jets (3.5, 4.0 and ISAM drivers), MS SQL Server, MS Internet Publishing, MS Client Cursor Engine, MS Data Shaping Services, MS Remote, MS Persistence, MS Index, MS Active Directory, MS Oracle, MS Simple, ORACLE Oracle, Sybase, and Advantage. 
            The known problems can be found at this site.

  8. Can I do mixing programming with use of OleDBPro, ADO and ATL consumer templates in the same application? 
            Yes! No problem at all! If you already use ADO or ATL consumer templates but need particular functions available only from OleDBPro, you can easily attach an interface to an OLEDB object with an OleDBPro object. Once an OleDBPro object is attached (opened), you can use the object and its function to complete your work. 

  9. I know OLEDB is evolving fast. Can your OleDBPro keep steps with the development of OLEDB.
            No problem at all! 

  10. A debug version of OleDBPro dll is provided. What is beneficial for application development?
            It is recommended that you use the debug version of OleDBPro dll when developing your applications. However, you should use the release version of dll when you build your release versions of your applications. There are many programming error checks inside the debug version of OleDBPro dll. Whenever you accidentally make a coding error, it will prompt an error message to inform you, and the error message tells you how to avoid the problem. OleDBPro uses this way to further reduce the frustration of OLEDB programming.

  11. What difference between OleDBPro and ADOs?
            Both OleDBPro and ADOs are consumers. ADOs are COM dlls but OleDBPro is a standard dll. For comparison between the two, click here.

  12. What difference between OleDBPro and ATL consumer templates?
            Both OleDBPro and ATL consumer templates are consumers. For comparison between the two, click here.

  13. What difference between OleDBPro and Borland ADOExpress?
           
    For the comparison between the two components, click here.

  14. How can I get the technical support?
            Send us your questions and concerns to support@udaparts.com.

  15. I have a problem in compiling OleDBPro examples, and how can I solve it?
            Here is your answer!

  16. Does OleDBPro support XML?
            OleDBPro well supports XML query. See the overview of the class COStream. Beginning with the version 1.5.0.0, OleDBPro provides the XML feature of flexible and friendly construction of XML document at the client side from any rowset or OLAP dataset.

Questions about data sources connectivity/OLEDB data source object.

Questions about OLEDB session object.

Questions about OLEDB command object.

Questions about OLEDB rowset/View/index object.

Questions about OLEDB other objects and error information.

Questions about various MS data services.