PRB: ODBC Error IM002 (0): Data Source Not Found...

ID: Q112479


The information in this article applies to:
  • Microsoft FoxPro Connectivity Kit, version 2.5
  • Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b
  • Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b


SYMPTOMS

When you are trying to connect to a server with a DBConnect() command, the following error message is displayed:

ODBC error IM002 (0): [Microsoft][ODBC DLL] Data source not found and no default driver specified


RESOLUTION

This error could be caused by one of the following situations:

  • The Data Source Name in the Control Panel's ODBC Driver Manager does not match the Data Source Name in the DBConnect() command.

    For example, in the Control Panel's ODBC Driver Manager for the ODBC driver, if the Data Source Name in the Setup dialog box is "test" (without the quotation marks), and you issue the following DBConnect() command
    
          handle=DBConnect('wrong_name','sa','') 
    you will receive a negative number for the handle, and after calling DBError(), you will receive the error message.

    To correct the problem in the above example, change the DBConnect() line
    handle=DBConnect('test','sa','')\ 
    Syntax of DBConnect()
    DBConnect(<Data source name>,<User identifier>,<Password>, <Connection string>)
    -or-


  • You are using Oracle and are not specifying the connect string as the forth parameter. Page 32 of the Microsoft FoxPro Connectivity Kit "User's Guide" states:
    Although many ODBC drivers don't require a connection string, some do. If you include a connection string, FoxPro passes the connection string to the ODBC driver. For more information, see your ODBC driver documentation.
For more information about the Oracle connect string:
  1. Open the Control Panel and double-click the ODBC Driver Manager.


  2. Select the Oracle driver from the Data Sources (Driver) list.


  3. Click the Help button.


  4. On the Help screen that comes up, scroll to the section that reads "SQL*Net Connect String."



MORE INFORMATION

To reproduce the problem using SQL Server:

  1. In the Control Panel's ODBC Driver Manager, set up a SQL Data Source with the following information:
    
          Data Source Name: test
          Description: test
          Server: REDDFOXX 
    The server name will vary depending upon the network and the actual name that the server's administrator has given the server.


  2. Create and run the following program:
    
          SET LIBRARY TO SYS(2004)+"fpsql.fll"
          PUBLIC errval
          PUBLIC errmsg
          PUBLIC handle
    
          errval=0
          errmsg=' '
          sourcename= 'wrong_name'  &amp;&amp; This should have been
                                    &amp;&amp; sourcename='test'
    
          user= 'sa'                &amp;&amp; This is your user ID for SQL
                                    &amp;&amp; Server.
    
          passwd=''                 &amp;&amp; Password for the user ID on the
                                    &amp;&amp; line above.
    
          ********CONNECT
    
          handle=DBConnect(sourcename,user,passwd)
          IF handle &gt; 0
             WAIT WINDOW 'Successfully Connected' nowait
          ELSE
             error=DBError(0,@errmsg,@errval)
             WAIT WINDOW STR(error)+' '+STR(errval)+' '+errmsg
          ENDIF 


Additional query words: FoxDos FoxWin IM002 ODBC CK errmsg err msg

Keywords : kb3rdparty kbcode kberrmsg kbnetwork FxtoolCk
Version : 2.50 2.50a 2.50b | 2.50 2.50a 2.
Platform : MS-DOS WINDOWS
Issue type :


Last Reviewed: July 29, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.