连接 MySQL 数据库失败

其他问题 Hans ⋅ 于 2018-11-02 17:38:48 ⋅ 最后回复由 Hans 2018-11-05 11:58:19 ⋅ 3316 阅读

大家好,

我在使用powerBI 连接数据库的时候,提示了我如下错误:
file

目前已知我的PBI是官网下载的最新版本,账号是一个免费版。MySQL连接成功过,并且以前连接成功的还是同一个IP下的另一个数据库。请问有什么解决思路或者建议了吗?拜托大家了。
以下为错误日志:

Feedback Type:
Frown (Error)

Timestamp:
2018-11-02T09:44:53.5831088Z

Local Time:
2018-11-02T17:44:53.5831088+08:00

Session ID:
f5ed0f87-b144-428c-93d0-938b8668dee4

Release:
October 2018

Product Version:
2.63.3272.40461 (18.10) (x64)

Error Message:
提供的名称不是正确格式的帐户名。

Stack Trace:
Microsoft.Mashup.Evaluator.Interface.ErrorException: 提供的名称不是正确格式的帐户名。
---> System.Security.SecurityException: 提供的名称不是正确格式的帐户名。
---> System.Security.SecurityException: 提供的名称不是正确格式的帐户名。

在 System.Security.Principal.WindowsIdentity.KerbS4ULogon(String upn, SafeAccessTokenHandle& safeTokenHandle)
在 System.Security.Principal.WindowsIdentity..ctor(String sUserPrincipalName, String type)
在 System.Security.Principal.WindowsIdentity..ctor(String sUserPrincipalName)
在 Microsoft.Mashup.Engine1.Runtime.CredentialExtensions.GetImpersonationWrapper(String username, String password, IEngineHost host, IResource resource)
在 Microsoft.Mashup.Engine1.Runtime.CredentialExtensions.GetImpersonationWrapper(IResourceCredential credential, IEngineHost host, IResource resource)
在 Microsoft.Mashup.Engine1.Library.Common.SqlResourceCredentialDispatcher.Apply(WindowsCredential credential)
在 Microsoft.Mashup.Engine1.Library.Common.SqlResourceCredentialDispatcher.Apply(ResourceCredentialCollection credentials)
在 Microsoft.Mashup.Engine1.Library.Common.ConnectionStringResourceCredentialDispatcher.ConstructConnectionString(String server, String database, ResourceCredentialCollection credentials, Nullable1 connectionTimeout) 在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.CreateConnectionInfo() 在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.get_ConnectionInfo() 在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.GetSchemaTable(Func2 loader, Boolean openConnection, String collectionName, String[] restrictions)
在 Microsoft.Mashup.Engine1.Library.MySQL.MySQLEnvironment.GetTables()
在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.d__9.MoveNext()
在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.LoadTypeCatalog()
在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.LoadCatalog()
在 Microsoft.Mashup.Engine1.Library.Common.DbEnvironment.get_NavigationPropertiesRecord()
在 Microsoft.Mashup.Engine1.Library.Common.DbCatalogTableValue.GetEnumerator()
在 Microsoft.Mashup.Engine1.Language.Query.SkipTakeEnumerable.GetEnumerator()
在 Microsoft.Mashup.Engine1.Language.Query.QueryTableValue.GetEnumerator()
在 Microsoft.Mashup.Engine1.Runtime.TableValue.Microsoft.Mashup.Engine.Interface.ITableValue.GetEnumerator()
在 Microsoft.Mashup.Evaluator.SimpleDocumentEvaluator.ValuePreviewValueSource.TableValuePreviewValueSource.SerializeRows(Int32 count)
在 Microsoft.Mashup.Evaluator.SimpleDocumentEvaluator.ValuePreviewValueSource.TableValuePreviewValueSource.get_SmallValue()
在 Microsoft.Mashup.Evaluator.Interface.TracingPreviewValueSource.get_SmallValue()
在 Microsoft.Mashup.Evaluator.RemotePreviewValueSource.<>cDisplayClass5.b3()
在 Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
--- 内部异常堆栈跟踪的结尾 ---
在 Microsoft.Mashup.Evaluator.EvaluationHost.<>cDisplayClass7.b6()
在 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.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
在 Microsoft.Mashup.Evaluator.RemotePreviewValueSource.RunStub(IEngineHost engineHost, IMessageChannel channel, Func1 getPreviewValueSource) 在 Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.<>c__DisplayClass1e1.b1b()
在 Microsoft.Mashup.Evaluator.EvaluationHost.ReportExceptions(IHostTrace trace, IEngineHost engineHost, IMessageChannel channel, Action action)
在 Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetResult[T](IMessageChannel channel, BeginGetResultMessage message, Action`1 action)
在 Microsoft.Mashup.Evaluator.RemoteDocumentEvaluator.Service.OnBeginGetPreviewValueSource(IMessageChannel channel, BeginGetPreviewValueSourceMessage message)
在 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.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.EvaluationHost.Run()
在 Microsoft.Mashup.Evaluator.SafeThread2.<>c
DisplayClass15.b__14(Object o)
在 Microsoft.Mashup.Container.EvaluationContainerMain.SafeRun(String[] args)
在 Microsoft.Mashup.Container.EvaluationContainerMain.Main(String[] args)
--- 内部异常堆栈跟踪的结尾 ---
在 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.Interface.IMessageChannelExtensions.WaitFor[T](IMessageChannel channel)
在 Microsoft.Mashup.Evaluator.RemotePreviewValueSource.PreviewValueSource.WaitFor(Func1 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(EvaluationResult21 result, Func1 getStaleSince, Func1 getSampled)

Invocation Stack Trace:
在 Microsoft.Mashup.Host.Document.ExceptionExtensions.GetCurrentInvocationStackTrace()
在 Microsoft.Mashup.Client.UI.Shared.DataImporter.HandleImportEvaluationException(ExceptionResult exceptionView, Query query, String sourceID, String formulaTitle, Boolean isNewQuery, Boolean isFromEditor)
在 Microsoft.Mashup.Client.UI.Shared.DataImporter.OnGetPreviewResult(PreviewResult preview, Query query, String sourceID, String formulaTitle, Nullable1 explicitImportDestination, Boolean isNewQuery, Boolean isFromEditor) 在 Microsoft.Mashup.Client.UI.Shared.DataImporter.GetPreviewResult(Query query, String sourceID, String formulaTitle, Boolean isNewQuery, Boolean isFromEditor, Nullable1 explicitImportDestination)
在 Microsoft.Mashup.Client.UI.Shared.DataImporter.<>cDisplayClass20.b1d()
在 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.UI.Shared.WebDialogs.WebDialog.<>nFabricatedMethod8(IWindowHandle )
在 Microsoft.Mashup.Client.UI.Shared.WindowManager.ShowModal[T](T dialog, Func`1 showModalFunction)
在 Microsoft.PowerBI.Client.Program.<>c
DisplayClass10.b0()
在 Microsoft.PowerBI.Client.Windows.IExceptionHandlerExtensions.<>c
DisplayClass7.b__6()
在 Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
在 Microsoft.PowerBI.Client.Program.Main(String[] args)

OS Version:
Microsoft Windows NT 10.0.17134.0 (x64 zh-CN)

CLR Version:
4.7 or later [Release Number = 461808]

Peak Virtual Memory:
37.9 GB

Private Memory:
278 MB

Peak Working Set:
431 MB

IE Version:
11.345.17134.0

User ID:
4c3d3e2e-b049-443a-af8f-c158634bfc00

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

Telemetry Enabled:
True

Model Default Mode:
Empty

Snapshot Trace Logs:
C:\Users\user\Microsoft\Power BI Desktop Store App\FrownSnapShot782530623.zip

Performance Trace Logs:
C:\Users\user\Microsoft\Power BI Desktop Store App\PerformanceTraces.zip

Disabled Preview Features:
PBI_shapeMapVisualEnabled
MIntellisense
PBI_SpanishLinguisticsEnabled
PBI_PdfImport
PBI_ColumnProfiling
PBI_variationUIChange
PBI_PythonSupportEnabled
PBI_showIncrementalRefreshPolicy
PBI_compositeModels
PBI_showManageAggregations
PBI_FuzzyMatching

Disabled DirectQuery Options:
PBI_DirectQuery_Unrestricted
TreatHanaAsRelationalSource

Cloud:
GlobalCloud

DPI Scale:
100%

Supported Services:
Power BI

Formulas:

section Section1;

shared 查询1 = let
源 = MySQL.Database("192.168.XX.XXX", "scrmdata", [ReturnSingleDatabase=true])
in
源;

最佳答案
  • Alex MOD 社区清洁工
    2018-11-02 18:01:38

    错误日志那一大坨没人看得懂。。。
    但是错误提示应该就是你的数据库用户名输错了,点编辑查询-数据源设置-编辑权限-编辑,检查下用户名吧

回复数量: 4
  • Alex MOD 社区清洁工
    2018-11-02 18:01:38

    错误日志那一大坨没人看得懂。。。
    但是错误提示应该就是你的数据库用户名输错了,点编辑查询-数据源设置-编辑权限-编辑,检查下用户名吧

  • Hans
    2018-11-05 10:36:31

    @Alex 首先很感谢您的回复,这里是我做的不完善了。关于用户名的问题,我说明一下。首先该database所在的mysql数据库我是连接成功过的,只不过连接成功的是另外一个database,使用的用户名与密码与现在问题中使用的是相同的。数据库用户权限那边应该没有问题,因为我用navicate访问这两个数据库都成功了,用的也是该用户。
    其次是连接时的问题。在本次连接时,事实上并没有让我输入用户名和密码,而是在输入数据库IP和数据库名点击连接后就提示了图片中的错误。
    我目前怀疑是因为我是free的PowerBI账户,所以是否会有多数据源的限制,但我目前确实找不到证据能够证明,网上也很少有关于这个错误的介绍。如果您这边有什么建议的话,请不吝指教,谢谢啦。=。=

  • Alex MOD 社区清洁工
    2018-11-05 10:42:32

    没有要求输入用户名和密码,是因为上次登录时Power BI已经将凭据存储在本地了,再次连接就会默认使用上次的用户名和密码,修改凭据就在我说的那个地方编辑,你重新输了试过了?

  • Hans
    2018-11-05 11:58:19

    @Alex 已经解决了,谢谢你了。你的办法是有效的,这个错误在于用户错误的设置成了window用户的,所以报格式错误。改成数据库的用户就没问题了。

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter