【问题标题】:Visual Studio Code Map: Unable to connect to the specified databaseVisual Studio Code Map:无法连接到指定的数据库
【发布时间】:2021-08-16 04:17:36
【问题描述】:

由于此错误,我无法在 Visual Studio 中使用 Code Map:

无法连接到指定的数据库。

尝试使用 以下连接字符串:数据 Source=(LocalDB)\v11.0;AttachDbFilename=;Initial 目录=master;集成安全=True;Enlist=False;异步 Processing=True;MultipleActiveResultSets=True;Connect Timeout=30。

检查指定的 SQL Server 实例是否存在且服务是否存在 正在运行。

我读过这个问题也有同样的问题:

Code Map not working in VS2012

visual studio 2012 ultimate new dependency graph error

1) 我已经安装了SQL Server Data Tools for VS2012

2) 我更新了 VS,并重新安装了 SQL Server 组件(在默认的卸载/修改/修复菜单中)

3)然后我成功停止并删除了本地数据库(如第二个问题):

sqllocaldb stop "v11.0" -k

sqllocaldb 删除“v11.0”

但创建失败:

sqllocaldb 创建“v11.0”

LocalDB 实例“v11.0”的创建失败,原因如下 错误:

指定的 LocalDB 版本在此计算机上不可用。

但是创建和启动另一个版本成功:

sqllocaldb 创建“v12.0”

使用版本 12.0.2000.8 创建的 LocalDB 实例“v12.0”。

sqllocaldb 启动“v12.0”

LocalDB 实例“v12.0”已启动。

现在我很困惑到底出了什么问题。在每一步之后,我都重新启动了 VS 并尝试使用图表 - 但没有任何改变。

如何解决问题?

【问题讨论】:

  • 能不能把连接字符串改成:Data Source=(LocalDB)\v12.0;等等?
  • 我不知道它在哪里。不在App.config,这个字符串出现在错误文本中

标签: sql-server visual-studio-2012 code-map


【解决方案1】:

这对我有用:

删除、创建、启动 CodeMap 使用的 localDB 实例:

%localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB

使用这些命令:

sqllocaldb stop "MSSQLLocalDB" -k
sqllocaldb delete "MSSQLLocalDB"
sqllocaldb create "MSSQLLocalDB" 
sqllocaldb start "MSSQLLocalDB"

然后重启VS

【讨论】:

  • 工作!谢谢你兄弟!
【解决方案2】:

查看自动和命名(或私有)LocalDb instances 之间的区别。

v11.0 (SQL Server 2012) 所需的支持文件可能不再安装在您的系统上。 v12.0 表示 SQL Server 版本 2014。

【讨论】:

    【解决方案3】:

    您是否尝试过更改数据库名称?您可以使用类似(查看您的 appsettings.json 文件或 web.config 文件)

    <add name="DefaultConnection" connectionString="Server=YourDatasource;Database=DatabaseNameAsYouWish;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
    

    如果您使用 SQL Management Studio,您将在连接到数据库时找到数据源连接字符串。复制并粘贴它,然后重试。如果有效,请告诉我。

    编辑:为 ASP.NET Core 5 Web API 项目设置连接字符串

    第 1 步: 对于 ASP.NET Core 5,在 appsettings.json 文件中,放置连接字符串

    "ConnectionStrings": {
        "sqlConnection": "Server=YourServerName;Database=YourDatabaseName;Integrated Security=true; Trusted_Connection=True;"
      },
    

    (注意:如果你想使用localdb,连接字符串应该是

    "ConnectionStrings": {
        "sqlConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;"
      },
    

    )

    在哪里可以找到服务器名称?

    1. 打开 SQL Server Management Studio

    1. 在服务器名称字段中,如果您没有看到列出的服务器名称,请单击浏览以获取更多信息...

    1. 单击数据库引擎旁边的 + 号,您将看到您的服务器名称。单击服务器名称并选择它。现在连接到您的 SQL Server。

    现在连接到您的 SQL Server。

    第 2 步。startup.cs 中添加ConfigureServices(IServiceCollection services){ place your sql connectiono service here } 方法中的服务

    // DatabaseContext comes from DatabaseContext.cs
                services.AddDbContext<DatabaseContext>(options => 
                    options.UseSqlServer(Configuration.GetConnectionString("sqlConnection")) // sqlConnection comes from appSettings connectionString
                );
    

    【讨论】:

    • 我使用了App.config 文件,而connectionString 必须从异常文本中复制。不过大体思路是对的,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 2017-02-24
    • 1970-01-01
    • 2020-03-30
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多