Forum Discussion

igordossantos's avatar
9 years ago
Solved

Microsoft.Mashup.Evaluator.Interface.ErrorException: Attempted to read or write protected memory.

Team,

 

Having an issue while connecting to the data source (Oracle) using Get Data (Power Query). 

 

I have been able to connect to the same datasource and have built a data model with a decent size, but for some reason I'm no longer able to connect. 

 

I'm remote connected to the VPN working on this model. 

 

Below is the error stack:

 

--------------------------------------------------
Please provide a complete description above.

Data to send to Microsoft:


Feedback Type:
Frown (Error)

Timestamp:
2016-11-10T17:38:11.3970651Z

Local Time:
2016-11-10T12:38:11.3970651-05:00

Product Version:
2.40.4554.463 (PBIDesktop) (x64)

Release:
October, 2016

IE Version:
11.0.9600.18499

OS Version:
Microsoft Windows NT 6.1.7601 Service Pack 1 (x64 en-US)

CLR Version:
4.6.1 or later [Release Number = 394271]

Workbook Package Info:
1* - en-US, fastCombine: Disabled.

Peak Working Set:
525 MB

Private Memory:
447 MB

Peak Virtual Memory:
4.07 GB

Error Message:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

Stack Trace:
Microsoft.Mashup.Evaluator.Interface.ErrorException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Oracle.DataAccess.Client.OpsMet.GetSchemaMetaData(IntPtr pOpsConCtx, IntPtr pOpsErrCtx, OpoMetValCtx* pOpoMetValCtx, Int32 AddRowid, Int32 AddToStmtCache)
%

 

 

 

  • Thank you for the reply. 

     

    It turns out that the issue was the code. The code I was passing through DirectQuery to the Oracle backend was in ANSI-89 format, similar to the below:

     

    select a.id, b.id, b.address_1
    from person a, address b
    where a.id = b.id

     

    Once the code was converted to ANSI-92 format, the error message went away. 

     

    select a.id, b.id, b.address_1
    from person a
    inner join address b
    on a.id = b.id

     

    Is this documented somewhere? If not, this should be. 

     

    -Igor

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi igordossantos,

    In Power BI Desktop, please firstly go to File-> Options and Settings-> Options-> Data Load, clear cache in the following screenshot, then check if you can connect to Oracle successfully.




    Alternatively, you can go to C:\Users\username\AppData\Local\Microsoft\Power BI Desktop\Cache to delete all files in Index and Temp folders.


    Thanks,
    Lydia Zhang

    • igordossantos's avatar
      igordossantos
      Icon for Helper I rankHelper I

      Thank you for the reply. 

       

      It turns out that the issue was the code. The code I was passing through DirectQuery to the Oracle backend was in ANSI-89 format, similar to the below:

       

      select a.id, b.id, b.address_1
      from person a, address b
      where a.id = b.id

       

      Once the code was converted to ANSI-92 format, the error message went away. 

       

      select a.id, b.id, b.address_1
      from person a
      inner join address b
      on a.id = b.id

       

      Is this documented somewhere? If not, this should be. 

       

      -Igor

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi,

     

    I have an user having this issue in Power BI, may I know what is the issue of this? and any solution?

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      I've tried to reinstall the software and checked that the version has been upgraded to latest version, which is version 2.108.825.0