Microsoft KB Archive/940020

= Error message when you try to connect to an instance of SQL Server 2000 Analysis Services by using Decision Support Objects: &quot;Data source name not found or no default data source&quot; =

Article ID: 940020

Article Last Modified on 10/31/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Analysis Services

-



SYMPTOMS
When you try to connect to an instance of Microsoft SQL Server 2000 Analysis Services by using Decision Support Objects (DSO), you receive the following error message:

[ODBC Error]Data source name not found or no default data source.

Additionally, you may receive the following error message:

Cannot connect to the repository

For example, you receive the second error message when you use SQL Server Analysis Manager to connect to the instance of Analysis Services.

Additionally, you notice that the repository connection strings for the server are blank.

This issue may occur when the Analysis Services service is running under some specific accounts. When you change the startup account for the Analysis Services service, the issue may be fixed.



CAUSE
The repository connection strings are not decrypted when the Analysis Services service starts. Therefore, no connection can be made to the repository. The decryption fails because calls to the Windows function CryptAcquireContext fail.

After you apply SQL Server 2000 Service Pack 3 (SP3), the repository connection strings are encrypted before they are stored in the registry. When the Analysis Services service starts, the service decrypts these connection strings and stores them in memory. When the service cannot decrypt the repository connection strings, the service will still start. However, the repository connection strings will be blank, and no connection can be made to the repository database.

Note If this issue occurs for multiple Analysis Services startup accounts, the encryption functionality itself may be damaged.



RESOLUTION
To resolve this issue, use one of the following methods:  Change the Analysis Services startup account to a different account. This account may have a valid encryption key file. Validate that the Analysis Services startup account has permission to the cryptography directory. To do this, use the method that is described in the following articles in the Microsoft Knowledge Base:

278381 Default permissions for the MachineKeys folders

817754 Peer-to-Peer Framework APIs return a &quot;PEER_E_NO_KEY_ACCESS&quot; error message

 Rename or delete the key container file that the process is trying to access. To do this, follow these steps:  Determine the exact directory and file name. To do this follow these steps:  Run the Process Monitor utility when the Analysis Services service starts. Use a filter of RSA, and then note which file the service accesses under the directory. For example, in Windows Server 2003, the directory is as follows:

 \Application Data\Microsoft\Crypto\RSA\

Note The placeholder  represents the user profile directory of the startup account of the Analysis Services service. By default, the files under this directory are hidden. To view these files, you must select the Show hidden files and folders option in Windows Explorer.</ol> </li> Restart the Analysis Services service. The Analysis Services service creates a new key container because the key container file does not exist.</li></ol>

For more information about Process Monitor, visit the following Microsoft Web site:

http://www.microsoft.com/technet/sysinternals/processesandthreadsutilities.mspx

</li></ul>

<div class="status_section">

STATUS
This behavior is by design.

<div class="moreinformation_section">

MORE INFORMATION
When the Analysis Services service starts the decryption process, the service has to load a cryptographic context by using the Windows function CryptAcquireContext. To do this, the service uses a default key container. If the service cannot access the key container, the service tries to create a key container. If the service cannot create a key container, the decryption process fails.

One reason that the service cannot access the default key container is that the user account may not have appropriate permissions on the key container file. If this is the case, you can find &quot;Access denied&quot; messages when you use the Process Monitor utility during the Analysis Services service startup.

Another reason that the service cannot access the default key container may be corruption of the key container file. This may be the case if either of the first two reasons does not apply.

Keywords: kbtshoot kbexpertiseadvanced kbprb KB940020

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.