【问题标题】:Windows API call "RegGetValueW" returned error code: 0Windows API 调用“RegGetValueW”返回错误代码:0
【发布时间】:2019-06-25 19:16:42
【问题描述】:

我收到 Windows API 调用错误代码:0

我已经安装了 SSMS 2018,并试图找出我是否安装了任何其他版本。为此,我在 CMD 中运行 sqllocaldb versions,但收到以下消息:

Windows API 调用“RegGetValueW”返回错误代码:0。

当我手动检查时(通过控制面板),我看到我安装了 2015 和 2016 版本。那么为什么它们没有在 CMD 中显示。

我试图找到其他解决方案,但没有发现任何对我有意义的东西。

【问题讨论】:

标签: sql-server ssms localdb


【解决方案1】:

这篇文章帮助了我: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/1257bf26-6ab0-416d-bf26-34f128f42248/sql-2016-sp1-sqllocaldb-versions-errors-with-quotwindows-api-call-quotreggetvaluewquot?forum=sqlexpress

在注册表中更改目录名称

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions

与中列出的版本相匹配

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13E.LOCALDB\MSSQLServer\CurrentVersion

在我的情况下,我不得不从 13.0 更改为 13.1。

【讨论】:

【解决方案2】:

这在 2020 年有时仍然是一个问题。daniell89 的回答是正确的,这是一张进一步解释修复的图片。

【讨论】:

    【解决方案3】:

    我看到上面的答案是正确的。但是,我想分享如何逐步解决它。

    首先,打开注册表编辑器。为此,请在键盘上进行组合:Windows + R,然后键入regedit 并点击确定。应该会出现注册表编辑器。

    然后在这个路径下找到安装的当前版本:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13E.LOCALDB \MSSQLServer\CurrentVersion

    在我的例子中是13.1.4001.0

    然后转到本地数据库注册表:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions

    您应该在此处列出命名为版本的文件夹。 我有一个文件夹13.0,我已将其更改为13.1

    文件夹重命名后,SQLLocalDB versions 命令完美运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-06
      • 2023-03-25
      • 1970-01-01
      • 2018-10-22
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      相关资源
      最近更新 更多