Skip to main content

Cannot open the datafile file axapden-us.alt

Faced following error after restoring Dynamics AX databases from one AOS server to other.


Cannot open the datafile "C:\Program Files\Microsoft DynamicsAX\60\Server\DAX2012R3\bin\Application\appl\Standard\axapden-us.alt"
Error code from the openrating system: errno = 13.
Look in file 'errno.h' or in the operating system documentation for an explanation. 


Resolution:
It was the account permssion issue. 
Make sure AOS service account must have added into Dynamics AX databases with full permissions (at least db_owner). This AOS service account manages the files located at above mentioned path in error.

In my Case;
Source AOS service was running with domain user account (DOMAIN\AOSService) and Destination AOS service was running under Network Service account. When I restored AX databases from source to destination it overwrite all user accounts in destination database, which means it deleted Network Service account.  
I had two options EITHER to add Network Service account which already has all the permissions as AX was installed from this account as mentioned above OR I have to provide full permissions to the domain user account (DOMAIN\AOSService) in destination Dynamics AX databases.


Comments

  1. These instructions are a bit confusing. If you get this error when connecting with the AX Client it means that the AOS Service account does not have the proper rights to the directory/file it is referencing.

    I received the same error above after I had changed out the AOS service account w. a different one. Make sure to go to each AOS and update the rights on this folder:

    C:\Program Files\Microsoft Dynamics AX\60\Server\Load_Test\bin\Application

    Go to Properties of the folder then Security, select advanced. Under Permissions the AOS service account needs the following:

    Allow
    This Folder, Subfolders and Files

    List folder / Read Data
    Read Attributes
    Read Extended Attributes
    Create Files / write data
    Create Folders / append Data
    Write Attributes
    Write Extended Attributes
    Delete
    Read Permissions

    After creating this permission, create another permission for your AOS account

    Allow
    Subfolders and Files Only

    Traverse folder / execute file

    This should fix the issue.



    ReplyDelete
    Replies
    1. Hi Justin,
      Thanks for your comment - this can be another way of assigning permissions to the AOS service user. I have updated my post a little bit to make it clear with two different options with my case. I followed these steps and it worked for me.

      Delete
    2. Faisal, perhaps the answer is two-fold. I had already updated the rights for the AOS service account needed on the DB's in SQL and didn't factor that in to my comment. After that, I still got the error above. I then had to update the rights on the files themselves on each AOS for the new service account. Thanks for your post. It helped me get to the solution of my problem and I wanted to share what else I did to fix the issue.

      Delete
    3. Glad to know it helped to resolve your issue. Your comments also gave me other options to check if I see this issue in future.

      Delete

Post a Comment

I will appreciate your comments !

Popular posts from this blog

The Dual Write implementation - Part 1 - Understand and Setup

What is Dual-write? Tightly couples – complete at one transaction level Near real time Bi-directional Master data and business documents – Customer records you are creating and modifying and at this document we are talking about sales orders or quotes and invoice. Master data could be reference data e.g. customer groups and tax information Why Dual-write and why not Data Integrator? Data Integrator is Manual or Scheduled One directional Now, Let's deep dive and understand what is required for Dual-write setup and from where to start. First thing first, check you have access to https://make.powerapps.com/ Choose right environment of CDS (CE) Make sure you have access to the environment too, click on gear icon and Admin Center  Look for required environment and Open it, you must have access as going forward you are going to configure dual write steps in the environment user the same user you are logged in now. Now, go back to power platform admin center and

D365FO: Entity cannot be deleted while dependent Entities for a processing group exist. Delete dependent Entities for a processing group and try again.

Scenario: There are times when you want to delete an entity from target entity list and when you do so, you face an error message which does not tell you where exactly the entity has been used.  "Entity cannot be deleted while dependent Entities for the processing group exist. Delete dependent Entities for a processing group and try again. " Solution: Browse the environment by appending this part  /?mi=SysTableBrowser&TableName=DMFDefinitionGroupEntity&cmp=USMF   at the end.  For example; if the environment URL is  https://daxture.sandbox.operations.dynamics.com then the complete URL will be https://daxture.sandbox.operations.dynamics.com/?mi=SysTableBrowser&TableName=DMFDefinitionGroupEntity&cmp=USMF Filter for Entity and it will give you the DefinitionGroup where the entity has been added or used in data management import/export projects. Get the DefinitionGroup name and search in the export/import projects under data management and either delete the whole

AX 2012 : Add/Remove Dynalink through X++

DynaLinks can be removed and added between datasources on form using this code; ClearDynaLinks() will remove all existing dynaLinks [these can be seen by right click on the click > Personalise > Query tab > under dataSource node AddDynalink() method has three parameters; 1. Source table field 2. Destination table 3. Destination table field The following code is implemented in the Click event of a button. void  clicked() {     SalesQuotationLine_ds.query().dataSourceNo( 1 ).clearDynalinks();     SalesQuotationLine_ds.query().dataSourceNo( 1 ).addDynalink( fieldNum (SalesQuotationLine, QuotationId),                                                          SAB_DocQuoteGroupRelation,                                                           fieldNum (SAB_DocQuoteGroupRelation,SalesQuotationId));            }