BUG: Dbase or FoxPro: Fox Memo Select Stopped by Dbase

Last reviewed: October 30, 1997
Article ID: Q119811
The information in this article applies to:
  • Microsoft Open Database Connectivity, version 1.0

BUG# ODBCDBASE: 2129 (1.01.1928)

SYMPTOMS

The ODBC FoxPro driver is unable to fetch data from a Microsoft FoxPro table that contains memo fields when it follows any CREATE TABLE statement executed with the ODBC Dbase driver during a session operating on the same ODBC environment handle allocated via SQLAllocEnv().

STATUS

Microsoft has confirmed this to be a problem in the ODBC Desktop Database Drivers version 1.01.1928. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The following is the ODBC Application Programming Interface (API) call sequence that recreates this problem:

  1. Connect to any ODBC Dbase datasource.

  2. Create any form of Dbase table with the ODBC Dbase driver, Then free the statement handle used for this operation with SQLFreeStmt() but do not call SQLDisconnect().

  3. Connect to an FoxPro ODBC datasource that provides access to a FoxPro table containing at least one memo field.

  4. Attempt to execute a SQL SELECT query on the FoxPro table containing the memo field via SQLExecDirect() or attempt to prepare such a statement with SQLPrepare(); either way, the same problem will be created.

    The error message received is:

[Microsoft][ODBC Single-Tier Driver][ODBC File Library]General Isam error. [Microsoft][ODBC Single-Tier Driver]Unable to open table: <table_name>.

To recreate this problem in MS Query:

  1. Define a Dbase and a FoxPro ODBC datasource. You will need to create a Fox table ahead of time with your Fox datasource. It can have any number of columns but must contain one memo field.

    For example,

          create table fox1 (col1 memo)
    

  2. In MS Query, from the File menu, select Execute SQL....

  3. Click the Data Sources... button, and choose the Dbase datasource you have defined; click the Use button.

  4. Create any form of Dbase table.

    For example:

          create table dbase1 (col1 char(30)).
    

    Then click the Execute button to execute the SQL statement. You should receive the message:

          Microsoft Query
          Executed SQL Statement successfully
    

  5. Click the Data Sources... button and choose the FoxPro datasource you have defined, click the Use button.

  6. Try to query on the Fox table with the SQL statement:

        select * from fox1,
    

    Click the Execute button to execute the SQL statement. You will get the message:

          Microsoft Query
          General ISAM error
          Unable to open table: fox1.
    


KBCategory: kbusage
KBSubcategory:

Additional reference words: 1.01.1928 Dbase FoxPro Fulfillment Kit MSDN
Excel Word Visual C++ MFC
Keywords : kbusage
Version : 1.01.1928
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 30, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.