标签: localdb

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

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

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

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

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

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

sql-server ssms localdb

14
推荐指数
2
解决办法
4411
查看次数

更改LocalDb的默认位置

我首先使用EF5代码进行编程,并希望使用LocalDb.如何更改LocalDb数据库文件的默认位置?根据http://blogs.msdn.com/b/sqlexpress/archive/2011/10/28/localdb-where-is-my-database.aspx,默认位置为%USERPROFILE%目录

以前我使用的是SqlCe DbConnectionFactory,它接受数据库路径/名称的参数.如果我使用AttachDbFileName参数,那么如果数据库不存在则会引发异常(它应该创建它!).

entity-framework localdb

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

在每个单元测试之前重新创建和重新设置LocalDb

我正在尝试为我的ASP.NET Web API项目编写单元/集成测试,并努力孤立地运行每个测试.请允许我解释一下.

我有一个配置了部署设置的*.testsettings文件.在每次测试运行之前,将一个空的*.mdf文件部署到测试位置.由于我正在使用实体框架代码优先,我可以使用数据库初始化程序将我的模式推送到数据库并为2行播种特定的表.这非常有效.

我面临的问题是,如果他们以错误的顺序执行,我所有ApiControllers操作的各种测试都会踩到彼此的脚趾上.例如,如果我在POST测试之前运行GET测试,那么GET返回2个对象,如果它们以相反的顺序运行,则GET返回3个对象.

我认为我需要做的是在每次测试之前删除,重新创建和重新设置我的数据库.这是个好主意还是有更好的方法?如果这是我能做的最好的,我会在每次测试之前重新设置数据库.

unit-testing entity-framework ef-code-first asp.net-web-api localdb

13
推荐指数
2
解决办法
8772
查看次数

指定的LocalDb实例不存在

我已经使用名为'Projects'的localDB了一段时间了.这是默认情况下ASP.NET MVC 5项目创建的数据库.然而,突然它停止了,我无法连接到它,也没有重新启动它

SqlLocalDb start Projects
Run Code Online (Sandbox Code Playgroud)

我明白了

The specified LocalDB instance does not exist.
Run Code Online (Sandbox Code Playgroud)

我看到了文件夹

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects
Run Code Online (Sandbox Code Playgroud)

另外,我有v11.0 in

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0
Run Code Online (Sandbox Code Playgroud)

我能够连接到v11.

我还可以尝试重新连接它吗?

连接字符串是

 <add name="DefaultConnection"  connectionString="Data Source=(localdb)\Projects;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

编辑

我尝试将Db文件附加到连接字符串

AttachDbFileName=C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects\master.mdf;
Run Code Online (Sandbox Code Playgroud)

但是,我仍然无法连接

A network-related or instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the instance name is correct
and …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc localdb

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

如何使用Entity Framework重置LocalDB表?

有没有什么办法来补种的LocalDB表使用EF?

我不想使用这个SQL命令:

DBCC CHECKIDENT('TableName', RESEED, 0)
Run Code Online (Sandbox Code Playgroud)

仅供参考:我使用的是EF 6.1.

非常感谢.

c# sql t-sql entity-framework localdb

13
推荐指数
1
解决办法
7647
查看次数

在Windows服务中使用SQL LocalDB

我有一个非常小的测试应用程序,我在安装过程中尝试安装Windows服务并创建LocalDB数据库,然后在Windows服务运行时连接到该LocalDB数据库.

我遇到了从Windows服务连接到LocalDB实例的巨大问题.

我的安装过程完全如下:

  1. 执行安装程序.msi文件,该文件以NT AUTHORITY\SYSTEM帐户运行msiexec进程.

  2. 使用以下命令运行自定义操作以执行SqlLocalDB.exe:

    • sqllocaldb.exe创建MYINSTANCE
    • sqllocaldb.exe分享MYINSTANCE MYINSTANCESHARE
    • sqllocaldb.exe启动MYINSTANCE
  3. 使用ADO.NET(System.Data.SqlConnection)运行自定义C#操作以执行以下操作:

    • 连接到以下连接字符串, Data Source=(localdb)\MYINSTANCE; Integrated Security=true
    • 创建数据库TestDB
    • 使用TestDB
    • 创建表...
  4. 在安装程序完成之前启动Windows服务.

  5. Windows服务安装到LocalSystem帐户,因此也作为NT AUTHORITY\SYSTEM用户帐户运行.

  6. 该服务尝试使用上面使用的相同连接字符串进行连接.

尝试从Windows服务中打开与上述连接字符串的连接时,我一直收到以下错误:

System.Data.SqlClient.SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.指定的LocalDB实例不存在.

这是令人沮丧的,因为msi安装程序自定义操作和Windows服务都在相同的Windows用户帐户下运行(我检查过,它们都是NT AUTHORITY\System).那么为什么第一部作品而第二部作品不在我之外.

我已尝试更改自定义操作和Windows服务中使用的连接字符串以使用共享名称(localdb)\.\MYINSTANCESHARE,我从Windows服务获得完全相同的错误.

我尝试将Windows服务登录的用户帐户更改为我的Windows用户帐户,只要我第一次运行命令将其添加到该实例的SQL服务器登录,该帐户就可以正常工作.

我也试过运行一个控制台应用程序并连接到共享名称连接字符串,这也是有效的.

我也尝试从SQL Server Management Studio连接到共享名称,这也是有效的.

然而,这些方法都没有真正解决我的问题.我需要Windows服务,因为它会在计算机启动后立即启动(即使没有用户登录),并且无论登录哪个用户帐户都启动.

Windows服务如何连接到LocalDB私有实例?

我正在使用SQL Server 2014 Express LocalDB.

sql sql-server localdb

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

Visual Studio 2015中无法识别LocalDB

我正在尝试使用Visual Studio中的Entity Framework创建一个数据库优先的ASP.NET MVC应用程序.

从空白项目模板开始,我打开服务器资源管理器并尝试添加数据连接.我使用Microsoft SQL Server作为数据源,使用"(localdb)\ v11.0"作为服务器名称.这给了我错误:"连接字符串中的数据源值指定未安装的SQL Server实例.要解决此问题,请选择安装SQL Server的匹配实例或修改连接中的数据源值串."

我正在关注的教程(以及我用谷歌搜索的其他几个地方)提到localdb是随Visual Studio一起安装的.无论哪种方式,我还安装了在这里找到的LocalDB ,但它没有显示出来.

我已尝试按照此帖中的说明操作,但收到错误"无法创建自动实例".

如何让Visual Studio连接到LocalDB?

c# sql-server asp.net visual-studio localdb

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

从Visual Studio 2013调用SQL LocalDb自动实例启动失败,但不是SQL Server Management Studio

每个MSDN文档:http://msdn.microsoft.com/en-us/library/hh510202.aspx

LocalDB支持两种实例:自动实例和命名实例.

我怀疑这与我的问题有关,所以我想知道是否有人知道这样的事情是如何自动创建的.如果我可以引用文档,"对于安装在用户计算机上的每个版本的LocalDB,都存在一个LocalDB自动实例."

以下是上述链接中相关部分的副本:

LocalDB的自动实例是公共的.它们是为用户自动创建和管理的,可供任何应用程序使用.对于安装在用户计算机上的每个版本的LocalDB,都存在一个LocalDB自动实例.LocalDB的自动实例提供无缝的实例管理.无需创建实例; 它只是工作.这样可以轻松安装应用程序并迁移到其他计算机.

不同版本的LocalDB将具有不同的实例命名约定:

SQL 2012 LocalDB = V11.0
SQL 2014 LocalDB = ProjectsV12
Run Code Online (Sandbox Code Playgroud)
  • 我见过其他人.

只要连接应用程序的连接字符串指向正确的实例,一切都很好:

(localdb)\V11.0
(localdb)\ProjectsV12
Run Code Online (Sandbox Code Playgroud)

如果我尝试连接SQL Server Management Studio实例(localdb)\ V11.0或(localdb)\ ProjectsV12,我可以,"已停止"服务器"自动启动".

如果我将VS2013中的SQL Server实例设置为实例(localdb)\ V11.0或(localdb)\ ProjectsV12,我不能,"停止"服务器"失败"启动.它试图启动,但失败了.

以下是实例error.log中找到的错误消息,指示实例启动失败的原因.

014-12-19 15:12:14.09 Logon       Error: 17828, Severity: 20, State: 3.
2014-12-19 15:12:14.09 Logon      The prelogin packet used to open the connection is structurally invalid; the connection has been closed. Please contact the vendor of the client library. [CLIENT: <named pipe>]
Run Code Online (Sandbox Code Playgroud)

我可能在这里找到了一个线索: …

sql localdb visual-studio-2013

12
推荐指数
1
解决办法
9763
查看次数

无法在localdb v\11.0中创建索引目录

SQL语句:

CREATE TABLE [dbo].[indexTable] (
    [mapId]   VARCHAR (50)  NOT NULL,
    [keyword] VARCHAR (900) NULL,
    PRIMARY KEY CLUSTERED ([mapId] ASC)
);

Go
CREATE FULLTEXT CATALOG FTSearch
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

创建[FTSearch] ...
SQL72014:.Net SqlClient数据提供程序:
消息9982,级别16,状态100,行1
无法在用户实例中使用全文搜索.

我正在使用localdb\v11.0它与visual studio 2012一起安装.

sql database sql-server localdb

11
推荐指数
1
解决办法
4408
查看次数

将LocalDB与Service Fabric一起使用

我有一个Actor,在收到来自WebAPI项目的请求后,Actor使用Entity Framework 6查询表.

using (var context = new MetadataContext())
{
    var userStorageAccountId = context.Set<UsersToStorageAccounts>()
                                      .Find(userId).StorageAccountId;
}
Run Code Online (Sandbox Code Playgroud)

使用"Add-Migration"..."Update-Database"命令成功创建了DB,并具有以下连接字符串:

@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=C:\Users\xxxx\Metadata.mdf;Connect Timeout=30;Initial Catalog=Metadata;Integrated Security=True;"
Run Code Online (Sandbox Code Playgroud)

当我运行结构服务并且actor尝试访问上下文时,我得到以下异常:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.有关错误详细信息,请参阅Windows应用程序事件日志.)

并且事件查看器错误是:

无法获取本地应用程序数据路径.很可能没有加载用户配置文件.如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载.

我找了一种加载用户配置文件的方法,但我只找到了IIS的解决方案.

请帮忙 :)

c# entity-framework actor localdb azure-service-fabric

11
推荐指数
1
解决办法
4174
查看次数