Menu

Suggestions for ODBO provider

jlb1234
2014-06-03
2025-06-19
  • jlb1234

    jlb1234 - 2014-06-03

    Hello,

    Congratulations for the work. It's pretty good.

    I'm trying to use ODBO provider with OWC10 (Office XP Web Components) PivotTable connected to Mondrian, but I am getting the error 0x800A0CB3 - "Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype".

    I recompiled the program and changed lines 95 and 126 respectively of the files "base_rowset.h" and "command.h" to content below:

    PROPERTY_INFO_ENTRY_EX (BOOKMARKS, VT_BOOL, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE, VARIANT_TRUE, 0)

    This eliminated the initial error, but now I get the error "The cube name 'Sales' is invalid." I do not think the lack of implementation of bookmarks is the cause of the error.

    Maybe you can try to check out this problem.

    Another suggestion is to connect without the "Initial Catalog" parameter because my application uses OpenSchema method to get the names of catalogs available on the server.

    Thank you,

    Jorge

     
    • Alexandra Davidoiu (Iancu)

      Another suggestion is to connect without the "Initial Catalog" parameter because my application uses OpenSchema method to get the names of catalogs available on the server.

      The reason why the DBPROP_INIT_CATALOG is required very early is because a server can authenticate the user. A server can have more than one catalog, backed by different data stores (even physical machines) and if the server does authenticate the user this is a must.

      There is however an alternative:

      1. You start with an empty initial catalog.
      2. You do discover catalogs and get the list of catalogs.
      3. You change the catalog by using DBPROP_CURRENTCATALOG to the catalog you want.

      If the server will not block you because of an authentication issue on step 1 you will end with a different catalog for all the sessions you have started.

      Let me know if this helps. For the other part we added a ticket and will see what is wrong with that client.

       
  • jlb1234

    jlb1234 - 2014-06-06

    Thanks for the reply.

    Actually, allow connections without the "Initial Catalog" parameter was easy. I just added "if (!m_catalog.empty ()) {" before writing the catalog name in the property "props.PropertyList.Catalog" inside methods "discover" and "execute" in "conection_handler.h".

    I also removed the code "catalog.empty()" at line 269 in "data_source.h".

    At the moment I'm treating more advanced issues. I added a combo "Data Source" to the configuration screen and the command "DISCOVER_DATASOURCES" in addition to other changes. You can now access a server running Microsoft XML/A SDK.

    I also added all the appropriate restrictions for each schema commands. My goal is to make the provider fully compatible with ADO and ADOMD, and of course the OWC.

     
  • Alexandra Davidoiu (Iancu)

    Great to hear about your progress. Any chance we get to discuss this? Maybe we can meet on Skype?

    "We are using this provider with ADOMD through Windows Power Shell since quite some time and it is unclear where you get in troubles."

    Later comment:

    ADOMD should go straight to the XMLA interface and completely bypass the provider. We are using ADOMD this way.

     

    Last edit: Alexandra Davidoiu (Iancu) 2014-06-10
  • jlb1234

    jlb1234 - 2014-06-09

    I am Brazilian and my English is not very good. Besides, I'm not a very experienced C++ programmer (although working for many years with other languages​​). So I think our conversation on Skype would not be very productive.

    But don't worry. Once I finish the changes in the component I will make them available here.

    I got into a bit complicated point. It seems that "MEMBER_UNIQUE_NAME" attribute generated by Mondrian is different from that generated by Microsoft. The "(All)" level is missing and this is causing problems in OWC. I'm struggling to fix this.

    Regarding ADOMD, the Catalog object was not showing the whole structure of the cube. Hierarchies, levels, members and properties were generating errors. Now this has been fixed.

     
  • jlb1234

    jlb1234 - 2014-06-18

    I was unable to send the project by e-mail, so I'm posting here.

    I'm sorry for the difficulties you had to assemble the test environment. I managed to install all the necessary software on a single machine running Windows 7 64-bit.

    To test the provider with the Microsoft XML for Analysis SDK, you can follow the following steps:

    If you do not have an Analysis Services 2000 available, you can configure the file "datasources.xml" to use a local cube file. I'm including the cube file "Sales.cub" and a "datasources.xml" file with an example configuration. Unfortunately the XML/A SDK does not work with Analysis Services 2008 and also probably not with 2005 or 2012.

    To test the provider with the OWC10 PivotTable, you can follow the following steps:

    I'm including the file "OWC10 PivotTable.htm", which already has the PivotTable inside. Just set the "ConnectionString" and "DataMember" parameters and open the file on Internet Explorer.

    The issues:

    On Excel, XML/A SDK cubes are working fine. The only problem is related to the use of filters with local cube files. This happens because Excel uses interdependent filters, where content shown by one filter depends on what is filtered on others. This happens in Excel 2010 and 2013. In Excel 2007, the filters are totally independent and everything works perfectly. Cubes from Analysis Services 2000 also work perfectly in all Excel versions. This difference between local and remote cubes happens because the version of MSOLAP provider configured in "datasources.xml" file. For local cubes work in XML/A SDK, you must use the "MSOLAP.1" version of the provider, which corresponds to the SQL Server 7.0 OLAP. On the other hand, the connection to Analysis Services 2000 can be configured using the "MSOLAP.2" provider. It seems that some MDX functions used by Excel 2010 and 2013 are not available in "MSOLAP.1". I found no option to change the behavior of the filters in Excel, then this issue will still need to be addressed in some way by the provider.

    The OWC PivotTable continues with several problems. Filtering dimensions without the (All) level such as "Time" from cube "Sales" cause crashes. I think the problem is related to tag "ALL_MEMBER" in "MDSCHEMA_HIERARCHIES" command. The provider is returning "" (blank) when the hierarchy has no "(All)" level. But the right would return NULL. I could not fix it.

    Drill down of dimensions with more than one level does not work. With Mondrian, drill down only works correctly with up to 3 dimensions. With the XML/A SDK the problem does not happen.

    The PivotTable is generating SETS and MEMBERS on query scope without the use of apostrophes, which generates syntax errors with the XML/A SDK.

    That's it. I think I did well for someone who had never programmed in C++. I'll still try to work more with this code in my spare time, but will be officially away for about a month. Feel free to ask whatever you want about the modifications I have performed on the source code.

    Regards,

    Jorge

     
  • cooper8643m

    cooper8643m - 2024-09-25

    When choosing an ODBO (Order Database Optimization) provider, it’s important to consider several key factors to ensure optimal database performance and efficiency. Look for a provider that offers advanced optimization algorithms, scalable infrastructure, and seamless integration with your existing systems. A good ODBO provider should also provide real-time analytics, enabling BISP you to make data-driven decisions and streamline operations.

     

    Last edit: cooper8643m 2024-09-29
  • strurgeongenera

    strurgeongenera - 2025-01-22

    When selecting an Open Database Connectivity (ODBC) provider, it’s essential to consider a few critical factors to ensure compatibility, reliability, and performance. First, confirm that the ODBC driver supports the database you are connecting to and aligns with your operating system and software architecture (32-bit or 64-bit). Look for providers known for stability and performance, particularly if your application relies best miniature pottery wheels on real-time data processing or handles high transaction volumes. Popular choices like Microsoft, Oracle, and third-party providers such as Progress DataDirect offer robust drivers for various databases.

     

    Last edit: strurgeongenera 2025-01-22
  • jhone smith

    jhone smith - 2025-06-01

    When selecting an ODBO (Operational Data Base Object) provider, it's essential to consider factors such as data integration capabilities, scalability, and support for real-time data processing. A reliable ODBO provider should offer seamless compatibility with various OLAP (Online Analytical Processing) tools, ensuring smooth communication between data sources and analytical platforms N7 Game. Additionally, robust security features, ease of configuration, and responsive technical support are critical for maintaining data integrity and performance.

     

    Last edit: jhone smith 2025-06-01
  • slpfrsly

    slpfrsly - 2025-06-19

    When choosing an ODBO (Operational DataBase Object) provider, it's essential to prioritize reliability, scalability, and compatibility with your existing data infrastructure. A good ODBO provider should support robust data of p999game access mechanisms, seamless integration with OLAP (Online Analytical Processing) services, and ensure high performance for multidimensional data analysis. Look for vendors with strong security protocols, active support communities, and proven track records in enterprise environments.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.