locked
How to build OLE DB tests in MDAC 2.8? (can't find "msxmloledb.h") RRS feed

  • Question

  • Hi,

    I am trying to build OLE DB conformance tests, which are included in MDAC 2.8 SDK. The following error occurs during compilation: "Cannot open include file: 'msxmloledb.h'".

    I couldn't find any information about such include file (msxmloledb.h) also in internet.

    Can someone, please, tell me, where can I find include file "msxmloledb.h", or how to build OLE DB conformance tests without it.

    Thanks in advance

     

    Monday, March 27, 2006 1:49 PM

Answers

  • Yes, there have been some problems in that area.  This is a start, assuming you are using VS .NET or older.  If using VS .NET 2003 or newer there are additional steps, since those shipped after the SDK.

    1. Edit cmodinfo.cpp and remove the following lines:

     

    #define MSXMLOEDDBINITCONSTANTS

    #include "msxmloledb.h"

     

    1. Remove the entire function GetInitPropsXMLOLEDB in both cmodfinfo.cpp and cmodinfo.hpp.
    2. In miscfunc.cpp: Remove the “if” statement calling GetInitPropsXMLOLEDB, leaving the call to GetInitProps().

     

    /*

          // Setup the arrays needed for init, based on string LTM passed to us

          if ( !GetModInfo()->GetInitPropsXMLOLEDB(&cPropSets, &rgPropSets) )

    */

                TESTC(GetInitProps(&cPropSets, &rgPropSets));

     

    Additional changes for VS .NET 2003 and newer (you should not need the _NT_TOOLS stuff):

     

    1. In cparsestrm.hpp and privstd.h make this change (or similar) since fstream.h no longer is used:

     

    // Header file change for VC7 2003

    #if (_MSC_VER >= 1310) && !defined(_NT_TOOLS)

       #include <fstream>

       using namespace std;

    #else

       #include <fstream.h>    // Stream

    #endif

     

    1. In cparsestrm.cpp make the following change:

     

       //Open the File (allow share_read mode)

    #if (_MSC_VER >= 1310) && !defined(_NT_TOOLS)

       open(m_pszFileName, ios::in | ios::_Nocreate, 05000/*filebuf::sh_read*/);

    #else

       open(m_pszFileName, ios::in | ios::nocreate, 05000/*filebuf::sh_read*/);

    #endif

    Tuesday, March 28, 2006 11:15 PM

All replies

  • Yes, there have been some problems in that area.  This is a start, assuming you are using VS .NET or older.  If using VS .NET 2003 or newer there are additional steps, since those shipped after the SDK.

    1. Edit cmodinfo.cpp and remove the following lines:

     

    #define MSXMLOEDDBINITCONSTANTS

    #include "msxmloledb.h"

     

    1. Remove the entire function GetInitPropsXMLOLEDB in both cmodfinfo.cpp and cmodinfo.hpp.
    2. In miscfunc.cpp: Remove the “if” statement calling GetInitPropsXMLOLEDB, leaving the call to GetInitProps().

     

    /*

          // Setup the arrays needed for init, based on string LTM passed to us

          if ( !GetModInfo()->GetInitPropsXMLOLEDB(&cPropSets, &rgPropSets) )

    */

                TESTC(GetInitProps(&cPropSets, &rgPropSets));

     

    Additional changes for VS .NET 2003 and newer (you should not need the _NT_TOOLS stuff):

     

    1. In cparsestrm.hpp and privstd.h make this change (or similar) since fstream.h no longer is used:

     

    // Header file change for VC7 2003

    #if (_MSC_VER >= 1310) && !defined(_NT_TOOLS)

       #include <fstream>

       using namespace std;

    #else

       #include <fstream.h>    // Stream

    #endif

     

    1. In cparsestrm.cpp make the following change:

     

       //Open the File (allow share_read mode)

    #if (_MSC_VER >= 1310) && !defined(_NT_TOOLS)

       open(m_pszFileName, ios::in | ios::_Nocreate, 05000/*filebuf::sh_read*/);

    #else

       open(m_pszFileName, ios::in | ios::nocreate, 05000/*filebuf::sh_read*/);

    #endif

    Tuesday, March 28, 2006 11:15 PM
  • Thanks Steve,

    Now I succeded to build tests.

    Wednesday, March 29, 2006 11:46 AM