POWER BI FORUM

WEBとリアルでつながる日本初BIコミュニティ

Sidebar

PowerBIからDBへ接続時のエラー

0 支持
114 views
ykka 5/15 質問
お世話になっております。

PowerBIからAzureのSQL Databaseへつなげようとしたところ以下のエラーが出てきました。
同じ事象になったことなどございますでしょうか。

宜しくお願いいたします。
-------------------------------
Feedback Type:
Frown (Error)

Timestamp:
2017-05-15T09:55:34.5970898Z

Local Time:
2017-05-15T18:55:34.5970898+09:00

Product Version:
2.46.4732.581 (PBIDesktop) (x64)

Release:
May-17

IE Version:
11.1198.14393.0

OS Version:
Microsoft Windows NT 10.0.14393.0 (x64 ja-JP)

CLR Version:
4.6.2. or later [Release Number = 394802]

Workbook Package Info:
1* - ja-JP, Query Groups: 0, fastCombine: Disabled, runBackgroundAnalysis: True.

Peak Working Set:
392 MB

Private Memory:
254 MB

Peak Virtual Memory:
33.7 GB

Error Message:
指定されたキーは、このアルゴリズムには有効なサイズではありません。
パラメーター名:key

Stack Trace:
Microsoft.Mashup.Evaluator.Interface.ErrorException: 指定されたキーは、このアルゴリズムには有効なサイズではありません。
パラメーター名:key ---> System.ArgumentException: 指定されたキーは、このアルゴリズムには有効なサイズではありません。
パラメーター名:key ---> System.ArgumentException: 指定されたキーは、このアルゴリズムには有効なサイズではありません。
パラメーター名:key
   場所 System.Security.Cryptography.AesCryptoServiceProvider.CreateEncryptor(Byte[] key, Byte[] iv)
   場所 Microsoft.Mashup.EngineHost.Services.EncryptedPersistentCache.EncryptedStorage.EncryptPage(Byte[] input, Int32 count, Byte[] output)
   場所 Microsoft.Mashup.EngineHost.Services.TransformingPagedStream.WritePage(Int32 page, Byte[] buffer, Int32 length)
   場所 Microsoft.Mashup.EngineHost.Services.PagedStream.Flush()
   場所 Microsoft.Mashup.EngineHost.Services.EncryptedPersistentCache.EncryptedStorage.CommitStream(Int32 id, Stream stream)
   場所 Microsoft.Mashup.EngineHost.Services.WriteBehindPersistentCache.AsyncCommitStorage(String key, TemporaryStorage storage)
   場所 Microsoft.Mashup.EngineHost.Services.WriteBehindPersistentCache.AsyncCommitStorage(Object obj)
   場所 Microsoft.Mashup.Evaluator.EvaluatorThreadPool.EvaluatorThread(Object state)
   場所 Microsoft.Mashup.Evaluator.SafeThread2.<>c__DisplayClass15.<CreateAction>b__14(Object o)
   --- 内部例外スタック トレースの終わり ---
   場所 Microsoft.Mashup.Evaluator.EvaluationHost.<>c__DisplayClass7.<TryReportException>b__6()
   場所 Microsoft.Mashup.Common.SafeExceptions.IgnoreSafeExceptions(IEngineHost host, IHostTrace trace, Action action)
   場所 Microsoft.Mashup.Evaluator.EvaluationHost.TryReportException(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Exception exception)
   場所 Microsoft.Mashup.Evaluator.EvaluationHost.TryHandleException(Exception exception)
   場所 Microsoft.Mashup.Evaluator.SafeThread2.HandleException(Exception e)
   場所 Microsoft.Mashup.Evaluator.SafeThread2.<>c__DisplayClass15.<CreateAction>b__14(Object o)
   場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   場所 System.Threading.ThreadHelper.ThreadStart(Object obj)
   --- 内部例外スタック トレースの終わり ---
   場所 Microsoft.Mashup.Evaluator.EvaluationHost.OnException(IEngineHost engineHost, IMessageChannel channel, ExceptionMessage message)
   場所 Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.ChannelMessenger.OnMessageWithUnknownChannel(IMessageChannel baseChannel, MessageWithUnknownChannel messageWithUnknownChannel)
   場所 Microsoft.Mashup.Evaluator.MessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.ChannelMessenger.ChannelMessageHandlers.TryDispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.MessageHandlers.Dispatch(IMessageChannel channel, Message message)
   場所 Microsoft.Mashup.Evaluator.Interface.IMessageChannelExtensions.WaitFor[T](IMessageChannel channel)
   場所 Microsoft.Mashup.Evaluator.RemotePreviewValueSource.PreviewValueSource.WaitFor(Func`1 condition, Boolean disposing)
   場所 Microsoft.Mashup.Evaluator.RemotePreviewValueSource.PreviewValueSource.get_SmallValue()
   場所 Microsoft.Mashup.Evaluator.Interface.TracingPreviewValueSource.get_SmallValue()
   場所 Microsoft.Mashup.Host.Document.Analysis.PackageDocumentAnalysisInfo.PackagePartitionAnalysisInfo.SetPreviewValue(EvaluationResult2`1 result, Func`1 getStaleSince, Func`1 getSampled)

Invocation Stack Trace:
   場所 Microsoft.Mashup.Host.Document.ExceptionExtensions.GetCurrentInvocationStackTrace()
   場所 Microsoft.Mashup.Client.ClientShared.StackTraceInfo..ctor(String exceptionStackTrace, String invocationStackTrace)
   場所 Microsoft.Mashup.Client.ClientShared.DataImporter.HandleImportEvaluationException(ExceptionResult exceptionView, Query query, String sourceID, String formulaTitle, Boolean isNewQuery, Boolean isFromEditor)
   場所 Microsoft.Mashup.Client.ClientShared.DataImporter.OnGetPreviewResult(PreviewResult preview, Query query, String sourceID, String formulaTitle, Nullable`1 explicitImportDestination, Boolean isNewQuery, Boolean isFromEditor)
   場所 Microsoft.Mashup.Client.ClientShared.DataImporter.<>c__DisplayClass1b.<OnQuerySettingsResolved>b__18()
   場所 Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
   場所 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   場所 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   場所 System.Delegate.DynamicInvokeImpl(Object[] args)
   場所 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   場所 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   場所 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   場所 System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   場所 System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   場所 Microsoft.Mashup.Client.ClientShared.WindowManager.ShowDialog[T](T form, IWin32Window owner)
   場所 Microsoft.PowerBI.Client.Program.<>c__DisplayClassd.<Main>b__0()
   場所 Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
   場所 Microsoft.PowerBI.Client.Program.Main(String[] args)

ログインまたはユーザー登録してから回答してください。

回答 1

+2 支持
Power BI Desktop は自身の動作のためにキャッシュファイルを作成し、該当のキャッシュファイルを利用するとのことです。
本原因は、このキャッシュファイルに起因して本現象が発生していたため、以下の手順でキャッシュをクリアしたところDBにつなげることができました。

1. キャッシュを削除します。
Power BI Desktop を終了し、下記のパスに存在するキャッシュを削除します。
#user name は、OS にログオンしているユーザーに置き換えてください。
#フォルダが存在しない場合は削除していただかなくても大丈夫です。

C:\Users\<user name>\AppData\Local\Microsoft\Power BI Desktop\Cache C:\Users\<user name>\AppData\Local\Microsoft\Power Query\Cache

2. Power BI Desktop のバージョンを確認し最新のバージョンでない場合は、最新のバージョンをインストールします。
Power BI Desktop のバージョンは、[ファイル] - [ヘルプ] - [バージョン情報] から確認可能です。
古いバージョンをご利用いただいている場合は、 Power BI Desktop をアンインストールの上、下記のダウンロードサイトからダウンロードしたセットアッププログラムを管理者として実行でインストールします。

https://powerbi.microsoft.com/ja-jp/downloads/

#可能であれば、このタイミングで Power BI Desktop を今一度、アンインストール/インストールする

3. Power BI Desktop を起動し、データソースを削除します。
削除していないデータソースが存在する場合、該当のデータソースを削除する。

4. 新規にデータの取得を実行し、エラーの発生有無を確認します。
ykka 5/18 回答
...