ACC2000: SQL Server Tables Not Appearing in ODBC Link Table Dialog Box or Project After Connecting to Server (270620)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q270620
Advanced: Requires expert coding, interoperability, and multiuser skills.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).

SYMPTOMS

In a Microsoft Access Database (.mdb):

When you try to link to a Microsoft SQL Server 7.0 database from Microsoft Access using the ODBC Link Tables dialog box, some of the tables are not visible.

In a Microsoft Access Project (.adp):

When you establish a connection to a SQL Server 7.0 database, some of the tables are not visible.

CAUSE

This problem occurs if all of the following conditions are true:

  • You are logged on as a Domain User.
  • Your Domain User account is a member of an NT Local Group on the Microsoft Windows NT or Microsoft Windows 2000 Server hosting the SQL Server.
  • The SQL Server has a SQL Server logon for your NT Local Group.
  • You are logging on to SQL Server through Integrated Windows NT authentication.
  • Permissions to the "missing" tables are only granted to you through the NT Local Group Logon. You do not inherit permissions to the tables through any other SQL Server logon.

RESOLUTION

To resolve this problem, use one of the following methods.

db_DataReader Role

Assign the SQL Server Fixed Database role db_DataReader to the NT Local Group Logon. By default, this enables all the members of your NT Local Group to see all the tables in your database. You must deny permissions where needed to restrict your NT Group from being able to view all the data.

Domain Group

Create an NT Domain group, rather than a local group. Add users to that Domain group, and create a logon in SQL Server for that Domain group. You can then assign permissions based on that Domain group.

SQL Server 2000

Upgrade your SQL Server to Microsoft SQL Server 2000. This issue does not occur with SQL Server 2000.

Pass-Through Query

Use a pass-through query in your Access database (.mdb) to connect to the table or tables. Using a pass-through query enables you to view the data.

For more information about pass-through queries, click Microsoft Access Help on the Help menu, type send commands to an sql database using a pass-through query in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

ADO Connection

Connect to the table programmatically by using ADO and a valid connection string. For more information about this technique, see the following topic in the MSDN Online Library:

Stored Procedure

Use a stored procedure in your Access project (.adp) to work with the data in the desired table or tables.

MORE INFORMATION

Steps to Reproduce the Behavior

  1. On a Microsoft Windows NT or a Microsoft Windows 2000 server, create a Local Group.
  2. Add a Domain User to that Local Group.
  3. Install Microsoft SQL Server 7.0 to the server.
  4. In Enterprise Manager, connect to the SQL Server and create a logon for that Local Group.
  5. Give that Local Group Select permissions to the Authors table in the Pubs sample database.
  6. From Access, try to link to your SQL Server tables.
Note that the Authors table does not appear in the list of available tables.

Modification Type:MinorLast Reviewed:1/26/2005
Keywords:kbprb KB270620