DOCUMENT:Q177947 23-AUG-2001 [visualc] TITLE :PRB: "Syntax Error in FROM Clause" Using Text ODBC Driver PRODUCT :Microsoft C Compiler PROD/VER:WINDOWS:2.5; winnt:5.0,6.0 OPER/SYS: KEYWORDS:kbDatabase kbMFC kbODBC kbVC kbVC500 kbVC600 kbGrpDSMDAC kbDSupport kbMDAC250 kbGrpDSOD ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual C++, 32-bit Enterprise Edition, versions 5.0, 6.0 - Microsoft Visual C++, 32-bit Professional Edition, versions 5.0, 6.0 - Microsoft Visual C++, 32-bit Learning Edition, version 6.0 - Microsoft Data Access Components version 2.5 ------------------------------------------------------------------------------- SYMPTOMS ======== When you use the AppWizard to create a CRecordset class using the ODBC Text Driver, your project will compile. However, when you try to open the recordset, you will get the following error message: Syntax error in FROM clause. CAUSE ===== The AppWizard incorrectly parses the table as [Table].[txt], instead of as [Table#txt]. RESOLUTION ========== In the CTextDriverSet.cpp implementation file, find the CTextDriverSet::GetDefaultSQL() function and change the return value from return _T("[Table].[txt]"); to the following: return _T("[Table#txt]"); Here is the function before the changes: CString CTextDriverSet::GetDefaultSQL() { return _T("[Table].[txt]"); } Here is the function after the changes: CString CTextDriverSet::GetDefaultSQL() { return _T("[Table#txt]"); } STATUS ====== Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATION ================ Steps to Reproduce Behavior --------------------------- In Notepad ---------- 1. Create a text file with the following content: Field1,Field2 1,abc 2. Save this file as Table.txt and close it. 3. Create a new User DSN based on the Microsoft Text Driver and name it TextDriverSample. 4. Clear the Use Current Directory box. 5. Click the Select Directory button and select the directory that contains Table.txt. 6. Click Options. 7. Select *.txt from the Extensions list box. 8. Click the Define Format button. 9. Select Table.txt. 10. Select the Column Name Header box. 11. From the Format combo box, select CSV Delimited. 12. Click the Guess button. 13. Save and exit the ODBC Manager. Start Visual C++ 5.0 or Visual C++ 6.0 -------------------------------------- 1. Create a new MFC application. 2. Select Single Document, then click Next. 3. Select Database View Without File Support. 4. Click the Data Source button. 5. From the ODBC combo box, select TextDriverSample, then click OK. 6. From the Database Tables list, select Table.txt. 7. Click OK, then click Finish. 8. Compile the project. Starting with Microsoft Data Access Components (MDAC) version 2.6, MDAC no longer contains the following Jet components: - Microsoft Jet - Microsoft Jet OLE DB Provider - ODBC Desktop Database Drivers For additional information, click the article number below to view the article in the Microsoft Knowledge Base: Q239114 ACC2000: Updated Version of Microsoft Jet 4.0 Available in Download Center The "MDAC 2.5 Stack and Windows File Protection" white paper contains a full list of the components that are shipped with MDAC 2.5, along with a discussion of Windows File Protection. Refer to this white paper for more information about the Jet dynamic-link libraries (DLLs) that are included in MDAC 2.5, which are no longer a part of MDAC 2.6. For more information about MDAC 2.5 and Windows File Protection, see the following Microsoft Web site: http://www.microsoft.com/data/mdacwfp.htm Additional query words: Bomb Error ====================================================================== Keywords : kbDatabase kbMFC kbODBC kbVC kbVC500 kbVC600 kbGrpDSMDAC kbDSupport kbMDAC250 kbGrpDSODBC kbMDACNoSweep Technology : kbVCsearch kbAudDeveloper kbMDACSearch kbMDAC250 kbVC500 kbVC600 kbVC32bitSearch kbVC500Search Version : WINDOWS:2.5; winnt:5.0,6.0 Issue type : kbprb ============================================================================= 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. Copyright Microsoft Corporation 2001.