No se puede cargar la DLL ‘Microsoft.Mashup.OleDbInterop.dll’ en Visual Studio PQ Project

Un usuario Pregunto ✅

Anónimo

Estoy en una máquina con Windows 10 de 64 bits y 64 bits con el último Power BI de 64 bits instalado. Cuando escribo una consulta en Power BI, funciona bien, pero cuando creo un proyecto de Power Query con Visual Studio 2017 usando el SDK de Power Query, recibo un mensaje de error.

Pensé que tal vez, dado que Visual Studo es de 32 bits, ayudaría si instalaba Power BI de 32 bits, pero eso tampoco parece marcar la diferencia.

La consulta funciona bien para la pieza que no he comentado, pero si la cargo en el siguiente paso, falla.

let
    Source = Sql.Databases("Server"),
    Load_Monthly = Source{[Name="DB"]}[Data]
    //,datatable = Load_Monthly{[Schema="dbo",Item="datatable"]}[Data]
in
    Load_Monthly

El registro de errores que obtengo se encuentra a continuación.

¿Hay alguna sugerencia sobre cómo seguir adelante con la solución de este problema? Supongo que es posible colocar los dll en algún lugar, pero no estoy seguro de cómo cargarlos.

2018-02-27T04:26:26.2438680Z
HostProcessId: 7384, Exception: Exception:
ExceptionType: System.DllNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message: Unable to load DLL 'Microsoft.Mashup.OleDbInterop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
StackTrace:
   at Microsoft.OleDb.RowsetPageReader.RowsetPage.GetData(IntPtr rowset, HACCESSOR hAccessor, HROW* hrows, DBROWCOUNT hrowCount, Byte* buffer, UInt32 rowLength, DBCOUNTITEM& readCount)
   at Microsoft.OleDb.RowsetPageReader.RowsetPage.Read(IRowset rowset, HACCESSOR hAccessor, Boolean first)
   at Microsoft.OleDb.RowsetPageReader.Read(RowsetPage page)
   at Microsoft.OleDb.Serialization.ColumnConvertingPageReader.Read(IPage page)
   at Microsoft.Mashup.Engine1.Library.Common.ProgressPageReader.Read(IPage page)
   at Microsoft.Mashup.Common.IPageReaderExtensions.NotifyingPageReader.Read(IPage page)
   at Microsoft.Mashup.Engine.Interface.Tracing.TracingPageReader.Read(IPage page)
   at Microsoft.Mashup.Common.IPageReaderExtensions.NotifyingPageReader.Read(IPage page)
   at Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.WrappedPageReader.Read(IPage page)
   at Microsoft.Mashup.Common.IPageReaderExtensions.NotifyingPageReader.Read(IPage page)
   at Microsoft.Mashup.Engine.Interface.Tracing.TracingPageReader.Read(IPage page)
   at Microsoft.Mashup.Evaluator.RemotePageReader.<>c__DisplayClass7.<RunStub>b__0()
   at Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)



00:00:00.2569593
7344
1

2018-02-27T04:26:26.2775733Z
HostProcessId: 7384, Result: True
00:00:00.0802232
7344
1

2018-02-27T04:26:26.3864035Z
HostProcessId: 7384, ConnectionId: 5db79e2d-5dc2-43d4-a64e-74b9ed9e2482
00:00:00.0001238
7344
1

2018-02-27T04:26:26.3865624Z
HostProcessId: 7384, CommandText: select s.name [TABLE_SCHEMA], o.name [TABLE_NAME], i.name [INDEX_NAME], s.name [TABLE_SCHEMA], o.name [TABLE_NAME], cc.name [COLUMN_NAME], cast(ic.key_ordinal as bigint) [ORDINAL_POSITION], i.is_primary_key [PRIMARY_KEY]
from sys.objects o join sys.schemas s on s.schema_id = o.schema_id
join sys.indexes as i on i.object_id = o.object_id
join sys.index_columns as ic on ic.object_id = i.object_id and ic.index_id = i.index_id
join sys.columns as cc on ic.column_id = cc.column_id and ic.object_id = cc.object_id
where (i.is_primary_key = 1 or i.is_unique_constraint = 1 or i.is_unique = 1) and o.type in ('U', 'V') and ic.key_ordinal <> 0
      and 1=1
order by i.name, s.name, o.name;, Behavior: Default
00:00:00.0059501
7344
1

2018-02-27T04:26:26.3924754Z
HostProcessId: 7384
00:00:00.0003868
7344
1

2018-02-27T04:26:26.3932829Z
HostProcessId: 7384
00:00:00.0000611
7344
1

2018-02-27T04:26:26.3932963Z
HostProcessId: 7384, ConnectionId: 5db79e2d-5dc2-43d4-a64e-74b9ed9e2482
00:00:00.0000316
7344
1

2018-02-27T04:26:26.3933496Z
HostProcessId: 7384, ConnectionId: 5db79e2d-5dc2-43d4-a64e-74b9ed9e2482
00:00:00.0000094
7344
1

2018-02-27T04:26:26.3933657Z
HostProcessId: 7384, ConnectionId: 5db79e2d-5dc2-43d4-a64e-74b9ed9e2482
00:00:00.0000075
7344
1

2018-02-27T04:26:26.4061656Z
HostProcessId: 7384, CommandText: select [$Table].[DATE] as [DATE],
    [$Table].[id] as [id]
from [dbo].[datatable] as [$Table]
00:00:00.0515188
7344
1

2018-02-27T04:26:26.4946559Z
HostProcessId: 7384, identity: null, Exception: Exception:
ExceptionType: Microsoft.Mashup.Evaluator.Interface.ErrorException, Microsoft.MashupEngine, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message: Unable to load DLL 'Microsoft.Mashup.OleDbInterop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
StackTrace:
   at Microsoft.Mashup.Evaluator.EvaluationHost.OnException(IEngineHost engineHost, IMessageChannel channel, ExceptionMessage message)
   at Microsoft.Mashup.Evaluator.RemoteEvaluationContainerFactory.Container.OnException(IMessageChannel channel, ExceptionMessage message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.<>c__DisplayClassa`1.<AddHandler>b__8(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.Interface.IMessageChannelExtensions.WaitFor[T](IMessageChannel channel)
   at Microsoft.Mashup.Evaluator.MessageBasedInputStream.ReadNextChunkAndCheckIfClosed()
   at Microsoft.Mashup.Evaluator.MessageBasedInputStream.ReadNextChunk()

InnerException
Exception:
ExceptionType: Microsoft.Mashup.Evaluator.Interface.ErrorException, Microsoft.MashupEngine, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message: Unable to load DLL 'Microsoft.Mashup.OleDbInterop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
StackTrace:
   at Microsoft.Mashup.Evaluator.EvaluationHost.<>c__DisplayClass7.<TryReportException>b__6()
   at Microsoft.Mashup.Common.SafeExceptions.IgnoreSafeExceptions(IEngineHost host, IHostTrace trace, Action action)
   at Microsoft.Mashup.Evaluator.EvaluationHost.TryReportException(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Exception exception)
   at Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
   at Microsoft.Mashup.Evaluator.RemotePageReader.RunStub(IEngineHost engineHost, IMessageChannel channel, Func`1 getPageReader)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.<>c__DisplayClass1e`1.<OnBeginGetResult>b__1b()
   at Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetResult[T](IMessageChannel channel, BeginGetResultMessage message, Action`1 action)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetDataReaderSource(IMessageChannel channel, BeginGetDataReaderSourceMessage message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.OnMessageWithUnknownChannel(IMessageChannel baseChannel, MessageWithUnknownChannel messageWithUnknownChannel)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.EvaluationHost.Run()
   at Microsoft.Mashup.Evaluator.SafeThread2.<>c__DisplayClass15.<CreateAction>b__14(Object o)
   at Microsoft.Mashup.Container.EvaluationContainerMain.SafeRun(String[] args)
   at Microsoft.Mashup.Conta
00:00:00.0004527
7384
16

2018-02-27T04:26:26.4949217Z
HostProcessId: 7384, identity: null, evaluationID: 5, cancelled: False, Exception: Exception:
ExceptionType: Microsoft.Mashup.Evaluator.Interface.ErrorException, Microsoft.MashupEngine, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message: Unable to load DLL 'Microsoft.Mashup.OleDbInterop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
StackTrace:
   at Microsoft.Mashup.Evaluator.EvaluationHost.OnException(IEngineHost engineHost, IMessageChannel channel, ExceptionMessage message)
   at Microsoft.Mashup.Evaluator.RemoteEvaluationContainerFactory.Container.OnException(IMessageChannel channel, ExceptionMessage message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.<>c__DisplayClassa`1.<AddHandler>b__8(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.Interface.IMessageChannelExtensions.WaitFor[T](IMessageChannel channel)
   at Microsoft.Mashup.Evaluator.MessageBasedInputStream.ReadNextChunkAndCheckIfClosed()
   at Microsoft.Mashup.Evaluator.MessageBasedInputStream.ReadNextChunk()

InnerException
Exception:
ExceptionType: Microsoft.Mashup.Evaluator.Interface.ErrorException, Microsoft.MashupEngine, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message: Unable to load DLL 'Microsoft.Mashup.OleDbInterop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
StackTrace:
   at Microsoft.Mashup.Evaluator.EvaluationHost.<>c__DisplayClass7.<TryReportException>b__6()
   at Microsoft.Mashup.Common.SafeExceptions.IgnoreSafeExceptions(IEngineHost host, IHostTrace trace, Action action)
   at Microsoft.Mashup.Evaluator.EvaluationHost.TryReportException(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Exception exception)
   at Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
   at Microsoft.Mashup.Evaluator.RemotePageReader.RunStub(IEngineHost engineHost, IMessageChannel channel, Func`1 getPageReader)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.<>c__DisplayClass1e`1.<OnBeginGetResult>b__1b()
   at Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetResult[T](IMessageChannel channel, BeginGetResultMessage message, Action`1 action)
   at Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetDataReaderSource(IMessageChannel channel, BeginGetDataReaderSourceMessage message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.OnMessageWithUnknownChannel(IMessageChannel baseChannel, MessageWithUnknownChannel messageWithUnknownChannel)
   at Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   at Microsoft.Mashup.Evaluator.EvaluationHost.Run()
   at Microsoft.Mashup.Evaluator.SafeThread2.<>c__DisplayClass15.<CreateAction>b__14(Object o)
   at Microsoft.Mashup.Container.EvaluationContainerMain.SafeRun(String[] args)
   at Microsoft.Mashup.Conta
00:00:00.0001490
7384
16

Hola @Anónimo,

¿Qué versión de Excel estás usando? ¿Podría intentar instalar el Excel de 32 bits para ver cómo funciona? Smiley feliz

Saludos

Anónimo

En respuesta a v-ljerr-msft

@ v-ljerr-msft Ya tengo Professional Plus 2016 de 32 bits, en la versión 16.0.4255.1001.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *