标签: localdb

为什么Entity Framework在删除时不会重新创建我的localdb?

使用实体框架6使用模型首次设置

  • 未指定连接字符串.
  • 简单的单一类POCO用于模型.

运行应用程序,创建数据库 活泉!

删除App_Data文件夹中的.mdf/.ldf.

运行应用程序,数据库连接错误

为什么不重新创建数据库?

PS尝试过如何为Entity Framework重新创建数据库?但它不起作用.

那么我如何说服EF重新创建数据库(为什么这会很难?)?

c# entity-framework localdb

5
推荐指数
2
解决办法
2415
查看次数

使用LocalDB进行集成测试

为了针对我的应用程序编写针对某些数据访问代码的集成测试,我编写了一个用于数据库集成测试的抽象类.

它使用LocalDB创建一个新的数据库实例,然后在完成后将其撕下来.

但是由于某种原因,该DROP DATABASE命令始终失败,并出现以下异常:

Cannot drop database "Integration_DataAccess" because it is currently in use.
Run Code Online (Sandbox Code Playgroud)

为什么是这样?有没有更好的方法来使用LocalDB进行集成数据库测试?

下面是我的抽象数据库集成测试类的代码:

using System;
using ProjectName.DataAccess.EmailSubscription;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using NUnit.Framework;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace ProjectName.DataAccess.Tests.IntegrationTests
{
    public abstract class IntegrationTestBase
    {
        private const string DatabaseConnNameEmpty = "DbDSNEmpty";
        private const string DatabaseConnName = "DbDSN";

        private const string DatabaseName = "Integration_DataAccess";

        [TestFixtureSetUp]
        public void SetupTempDatabase()
        {
            // Create database (drop first, just in case)
            var …
Run Code Online (Sandbox Code Playgroud)

c# testing integration-testing nunit localdb

5
推荐指数
1
解决办法
1576
查看次数

无法在Windows 8.1上安装LocalDB

我开发了一个使用SQL Server(特别是LocalDB)的应用程序,并且我刚将它推送到客户端.

客户端运行Windows 8.1 x64,但是,当我尝试直接从Microsoft安装x86或x64版本的SQL LocalDB时,我不断收到此错误:

Microsoft SQL Server 2014 Express LocalDB

安装此产品失败,因为此操作系统不支持此产品.有关支持的配置的信息,请参阅产品文档.

我有点卡在这里,并且,因为我在Windows 8.1开发机器上使用LocalDB而感到很困惑.

我该如何解决这个问题?

sql-server installation compatibility localdb windows-8.1

5
推荐指数
0
解决办法
1968
查看次数

使用适用于SQL Server的新ODBC驱动程序连接到LocalDB

更新:感谢Dan Guzman,问题已经解决了.我犯了一个错误并使用了旧的遗产,Driver={SQL Server};假设它是新的驱动程序.相反,我应该使用Driver={ODBC Driver 11 for SQL Server}哪个是实际的新ODBC驱动程序.我可以使用新驱动程序连接到(Localdb)\ v11.0.


TL; TR:为什么我不能使用new in连接字符串连接到(Localdb)\ v11.0Driver={SQL Server};,但是如果我将驱动程序切换到旧的话,我可以连接Driver={SQL Server Native Client 11.0};

我使用的其余连接字符串参数是(如果在C++代码中使用,则反斜杠转义):

Server=(localdb)\v11.0;Integrated Security=True;
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过ODBC访问SQL Server并SQLDriverConnect使用无DSN连接字符串进行调用.如果我将驱动程序切换到SQL Server Native Client 11.0,那么我突然可以连接.

我还测试过生成FILEDSN %systemdrive%\Windows\System32\odbcad32.exe,我观察到完全相同的问题.

我可以与新连接的唯一本地数据库Driver={SQL Server}Server=DEVBOX\SQLEXPRESS(如果在C++代码中使用,则反斜杠转义,当然).

我找不到任何确认新的SQL Server ODBC驱动程序不支持LocalDB.

它仅在SQL Server for LinuxODBC驱动程序的常见问题中指出

SQL Server 2012的哪些功能支持此版本的驱动程序?Linux上的ODBC驱动程序支持SQL Server 2012中除LocalDB之外的所有服务器功能.

如何使用Windows上的新ODBC驱动程序连接到LocalDB?

更新:我正在使用Windows 10 Pro + VS2015.我可以连接到两者,(localdb)\v11.0DEVBOX\SQLEXPRESS使用SQL Server Management …

sql-server odbc localdb

5
推荐指数
1
解决办法
4794
查看次数

指定的LocalDB实例不存在

我正在尝试使用EntityFramework 6在SQL Server 2015 Express中构建ASP.NET MVC 5 Web应用程序但是当我调试应用程序并转到需要数据库的页面时,我收到以下错误.

System.Data.SqlClient.SqlException未被用户代码处理ErrorCode = -2146232060 HResult = -2146232060 LineNumber = 0 Message = Error relacionado con la redoespecíficodela instancia mientras se>establecíaunaconexiónconel servidor SQL Server.没有服务条件>没有建立可接受的服务.Compruebe que el nombre de la instancia es correcto> y que SQLServerestáconfiguradopara admitir conexiones remotas.(提供者:> SQL网络接口,错误:50 - Se produjo un error de本地数据库>运行时.La instancia de LocalDB especificada no existe.)

这个错误提到有一个远程连接问题,但这是不可能的,因为我在本地.然后我收到以下错误:发生localDB实例本地数据库运行时错误.指定的LocalDB实例不存在.

堆栈跟踪:

    en System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework sql-server-2012 localdb

5
推荐指数
1
解决办法
7267
查看次数

有什么方法可以为localdb创建图吗?

我已经使用Entity Framework代码优先方法创建了一个数据库,现在我试图验证数据表的关系,但是不幸的是,浪费2天后仍然无法获得任何解决方案。

entity-framework code-first localdb visual-studio-2015

5
推荐指数
2
解决办法
1372
查看次数

创建连接字符串并使用SQL Server LocalDB

我尝试从visual studio 15连接到localdb时遇到问题.我已经安装了SQL Server Express 2016

我在下面的教程中:http://www.asp.net/mvc/overview/getting-started/introduction/creating-a-connection-string

我创建模型和上下文(MovieDBContext)类并尝试设置连接:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="MovieDBContext"    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"
/>
Run Code Online (Sandbox Code Playgroud)

当我尝试访问我显示所有电影的页面时:

 public ActionResult Index()
 {
     return View(db.Movies.ToList());
 }
Run Code Online (Sandbox Code Playgroud)

我得到这个例外: 在此输入图像描述

我尝试编辑这样的连接字符串,但也无法正常工作:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="MovieDBContext"   connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"
/>  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

当我使用时,我得到了这个激动 (local)MSSQLLocalDB

在此输入图像描述

我做错了什么?

c# sql-server asp.net asp.net-mvc localdb

5
推荐指数
1
解决办法
2万
查看次数

如何在连接字符串中指定使用SQL Server LocalDb 2014而不是SQL Server LocalDb 2016?

我们的应用程序使用SQL Server LocalDb 2014作为数据库引擎.我们使用的连接字符串是

"Data Source=(localdb)\MSSQLLOCALDB;Initial Catalog=OurDatabase;MultipleActiveResultSets=True;Integrated Security=True;AttachDBFilename=|DataDirectory|OurDatabase.mdf"
Run Code Online (Sandbox Code Playgroud)

现在,在我们的一台计算机上,它安装了VS 2015SP3并安装了最新版本的SQL Server对象,我们的应用程序开始使用SQL Server LocalDb 2016.这是不可取的,因为我们在计算机之间定期交换数据库文件的备份现在,在没有LocalDb 2016的计算机上无法读取以LocalDb 2016格式生成的备份.

问题是连接字符串没有指定应该使用哪个版本的LocalDb.有一种方法可以强制使用LocalDb 2014(或2016,如果我们决定升级?)

sql-server localdb sql-server-2014-localdb sql-server-2016-localdb

5
推荐指数
1
解决办法
3135
查看次数

在Windows 7 64位上启动SQLLOCQLDB 2017实例时出错(除了找不到入口点)

我尝试在win7(x64)上启动SQLLOCALDB 2017的实例,但是此消息框出现:

"程序入口点BCryptKeyDerivation无法位于动态链接库bcrypt.dll中"

有人知道这是什么原因吗?

在此输入图像描述

来自CMD的更多信息:

Microsoft Windows [版本6.1.7601]版权所有(c)2009 Microsoft Corporation.版权所有.

C:\ Users\hashem-7-x64> SQLLOCALDB INFO MSSQLLocalDB

C:\ Users\hashem-7-x64> SQLLOCALDB VERSIONS Microsoft SQL Server 2017(14.0.1000.169)

C:\ Users\hashem-7-x64> SQLLOCALDB START MSSQLLOCALDB由于以下错误,LocalDB实例"MSSQLLOCALDB"启动失败:在LocalDB实例启动期间发生错误:SQL Server进程无法停止.

C:\ Users \用户哈希姆-7- 64>

sql-server-express windows-7-x64 localdb

5
推荐指数
2
解决办法
4079
查看次数

删除数据库文件和sqllocaldb后,底层提供程序在Open上失败

我正在调查我在这里遇到的问题

当我的Winforms XAF,Entity Framework Code First + Desktop Bridge应用程序通过Windows应用商店安装时,它会在users目录中创建一个数据库.

如果我删除文件,那么当我尝试重新运行应用程序时,我将收到错误.

The underlying provider failed on Open
Run Code Online (Sandbox Code Playgroud)

这是因为我没有正确删除数据库.

正如链接问题中所解释的那样.

我尝试了修复

sqllocaldb.exe stop MSSQLLocalDB
sqllocaldb.exe delete MSSQLLocalDB
Run Code Online (Sandbox Code Playgroud)

但它没有解决问题.此外,我找不到要连接的SQL Server实例(通过Management Studio 2017)以便删除数据库.

我在c:\ Program Files\Microsoft SQL Server下有以下文件夹

sql server的文件夹

[更新]

我试过跑步

sqllocaldb.exe info mssqllocaldb 
Run Code Online (Sandbox Code Playgroud)

它给出了版本13.1.4001.0

要获取用于通过SQL Server对象资源管理器连接的实例管道名称,我可以创建一个同名的新数据库,然后将其删除.然而,这并没有解决我的问题.

[更新]

连接字符串是

"Integrated Security=SSPI;MultipleActiveResultSets=True;Data Source=(localdb)\mssqllocaldb;Initial Catalog=mydatabase"
Run Code Online (Sandbox Code Playgroud)

在这里了一个相关的问题

我现在认为UWP不支持localdb

sql-server localdb uwp desktop-bridge

5
推荐指数
1
解决办法
121
查看次数