Results 1 to 5 of 5
  1. #1
    Join Date
    Jan 2011
    Posts
    19

    Unanswered: Error (3146) ODBC --call failed

    I'm got a situation where I run a set of reports for different areas. Most of the areas work but some I get this error.

    Error (3146) ODBC --call failed.

    [Oracle][OCBC][Ora]ORA-00600: internal error code, arguments.
    In this case I'm having access call an Oracle database.

    Suggestions that I found would include refreshing the link or dropping the table and adding it again. I've tried both.

    This isn't a single machine issue, it is happening network wide.

    Any suggestions?

  2. #2
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    I might try re-creating the ODBC DSN. Also make sure that you don't have an ODBC DSN connecting to the same db by another ODBC DSN name. You want all users/computers that are connecting to the db to have the EXACT same ODBC DSN name. A mispelled (or spelled slightly different) ODBC DSN for one user/computer can cause problems for others. (but this usually causes problems for some users and not others).

    If that isn't the problem, I might try running any dbcc checkdb type commands on the Oracle server against the db (I'm not sure what the Oracle commands are to check the db.) This seems more likely since you said it's for all users.

    Lastly, when you link the tables, make sure the "Save Password" check box is checked when linking (although this wouldn't cause the problems you noted.)

    If all else fails, you could also try creating a File DSN versus a System DSN.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  3. #3
    Join Date
    Jan 2011
    Posts
    19
    Thank you for the reply. The issue was one of the tables needed to be rebuilt. It was an issue with how one of the joins was working. The issue in my mind still is that some of the larger reports I ran worked fine but a lot of the smaller ones where the issue.

    Thank you again

  4. #4
    Join Date
    Apr 2012
    Posts
    3

    ODBC problems

    Quote Originally Posted by pkstormy View Post
    I might try re-creating the ODBC DSN. Also make sure that you don't have an ODBC DSN connecting to the same db by another ODBC DSN name. You want all users/computers that are connecting to the db to have the EXACT same ODBC DSN name. A mispelled (or spelled slightly different) ODBC DSN for one user/computer can cause problems for others. (but this usually causes problems for some users and not others).

    If that isn't the problem, I might try running any dbcc checkdb type commands on the Oracle server against the db (I'm not sure what the Oracle commands are to check the db.) This seems more likely since you said it's for all users.

    Lastly, when you link the tables, make sure the "Save Password" check box is checked when linking (although this wouldn't cause the problems you noted.)

    If all else fails, you could also try creating a File DSN versus a System DSN.
    My colleagues and I keep getting seemingly random ODBC Connection failures - without any error code - using Access with linked tables to an Oracle backend. Is it possible that this is being caused by having two System DSNs that are in all aspects but name identical? One is called "ebsstudents" and the other is "students". Both use the same username and password etc. I know that some of the databases use a mixture of the two dsns to link to the Oracle tables. It is alos possible that different copies of the same databases (test and live versions) may use different DSNs to connect to the same table. Am I thinking on the right lines?
    I have found that refreshing the link to one table in the linked table manager sometimes resolves the issue but only for a short while.
    Please advise.

  5. #5
    Join Date
    Jun 2013
    Posts
    3
    I Googled "error 3146" and got this page as first result,
    so I propose here a link to a solution for meaningless generic message
    "Error 3146: ODBC--call failed":
    How To Get More Information on the ODBC Call Failed Error
    They propose to use a special error handler like this:

    ' DAO Error Handler
    Dim MyError As Error
    Debug.print Errors.Count
    For Each MyError In DBEngine.Errors
    With MyError
    MsgBox .Number & " " & .Description
    End With
    Next MyError

    I found it very usefull

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •