是否可以将LocalDB数据库与NHibernate一起使用?如果是,应该安装/配置什么?
当前尝试使用连接字符串,如数据源=(LocalDb)\ v11.0;初始目录= tst1;集成安全性= SSPI创建SessionFactory时我得到
System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)----> System.ComponentModel.Win32Exception:找不到网络路径
但是,我可以通过SQL Server对象资源管理器连接到(LocalDb)\ v11.0,并且实体框架可以使用该连接字符串.那么,我在NH上做错了什么,或者目前无法使用带有NH的LocalDB?
我正在使用Entity Framework 5.0 RC与预配置了VS 2012 RC的LocalDB数据库进行一些原型设计和代码优先数据库的测试.
经过几个周期的更改我的代码优先数据库和运行"更新数据库"后,我做了一个巨大的改变,自动迁移失败了.我不关心解决这个冲突,因为这只是原型设计,所以丢失数据很好.
如何重置或删除数据库?重置还必须重置迁移表,这似乎在Visual Studio中的服务器资源管理器中隐藏.
我有一个使用LocalDb的WinForms应用程序.当然在我的开发盒上,这很好用.当我将应用程序部署到另一个框时,我收到以下错误消息:
"在建立与SQL Server的连接时出现与网络相关或特定于实例的错误."
我经历了许多#1的帖子了在这个问题上 - 大多数人似乎相关的连接字符串.
其中一个我遇到的问题是,在我的开发中,我创立了一个名叫LocalDB实例.在我的安装目标上,我正在运行LocalDb安装MSI.
对于已安装的实例,有没有办法以编程方式实例化一个命名的LocalDb实例或一种连接到默认LocalDb实例的方法?
是否可以以编程方式实例化一个名为LocalDb的实例?
或者我可以使用(localdb)\ v11.0创建一个可用于打开我的LocalDb数据库的连接字符串;
我也在开发中使用DbContext - 再次在开发框中,LocalDb和DbContext工作正常.使用DbContext和EF是否会影响目标框上的LocalDb连接字符串?
我有一个.bak在SQL Server 2008 R2中创建的数据库()的备份.
要测试某些功能,例如将此备份导入LocalDB(2012).当我单击"还原"并选择数据库时,会发生以下错误:
属性MasterDBLogPath不适用于信息'Microsoft.SqlServer.Management.Smo.Information'.此属性可能不存在,或者由于访问权限不足而无法检索.(Microsoft.SqlServer.Smo)
我有一个使用localdb的MVC4/ASP.Net应用程序.一切"看起来"才能正常工作.但是我在事件日志中遇到了大量错误:
LocalDB实例注册表项中缺少"DataDirectory"注册表值:{BB3F4304-E7E9-4EE7-9A25-B46BFAA73FB4}
LocalDB实例注册表项中缺少"DataDirectory"注册表值:{BB31321B-BEB9-465B-8C8E-DEF9C2C67FBE}
每次实例更改.
XML错误的详细信息:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="SQLLocalDB 11.0" />
<EventID Qualifiers="35269">512</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-03-12T14:12:43.000000000Z" />
<EventRecordID>1080755</EventRecordID>
<Channel>Application</Channel>
<Computer>XXXXXX</Computer>
<Security />
</System>
<EventData>
<Data>{BB07CF13-2ABD-4FD5-AB2B-467FF08F28E6}</Data>
</EventData>
</Event>
Run Code Online (Sandbox Code Playgroud)
连接字符串:
<add
name="DefaultConnection"
connectionString="Data Source=(localdb)\v11.0; Initial Catalog=WebMVCContext-20121205135209; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|WebMVCContext-20121205135209.mdf"
providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
再次,它正在工作,一切都连接只为每个连接获得10-20.
我到处搜索但找不到答案.我知道LocalDB不能成为合并复制的订阅者.但是事务复制呢?
我已经尝试过SQL Server Management Studio和RMO编程来创建对具有事务复制类型的发布的pull订阅,但它一直告诉我" 这个SQL Server实例上没有安装复制 ".在安装过程中,我或用户无法选择复制功能.并重新安装LocalDB将不会提供任何帮助.
我知道可以使用同步框架来完成这项工作,但这对我来说是新的,我已经在我之前的软件版本中将LocalDB部署到了客户端计算机,所以我更喜欢在我知道之前坚持使用复制方法确保LocalDB不支持任何形式的复制.
总结我的问题:如何在LocalDB实例上创建一个pull订阅来订阅事务复制?
顺便说一下,使用Windows 8 SDK附带的引导程序将LocalDB部署到客户端计算机,如果安装了Windows 8 SDK,可以在此目录中找到:{C:\ Program Files(x86)\ Microsoft SDKs\Windows\v8.0A \引导程序\软件包\ SqlLocalDB2012}
如果我没说清楚,我很乐意提供更多信息.提前致谢!
VS 2013 MVC5代码第一个项目.
我正在使用MVC5教程来完成ASP.NET的EF6入门,以便快速了解最新的更改,并且我遇到了迁移问题.在第一个模块中,使用数据库初始化程序创建数据库:
<contexts>
<context type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity">
<databaseInitializer type="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity" />
</context>
</contexts>
Run Code Online (Sandbox Code Playgroud)
和这个连接字符串:
<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ContosoUniversity1;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
这很好用.在Code First迁移和部署模块中,将设置迁移.初始化程序已注释掉,DB的名称更改为ContosoUniversity2:
<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ContosoUniversity2;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
何时update-database从Packager Manager Console运行它失败并显示错误消息:
Cannot open database "ContosoUniversity2" requested by the login. The login failed.
Login failed for user 'MyMachine\MyUser'.
Run Code Online (Sandbox Code Playgroud)
我使用相同的用户和相同的结果多次重新运行这两个方案.如果我更改Initial Catalog为AttachDbFilename=|DataDirectory|\ContosoUniversity2; update-database成功(DB现在位于项目的App-Data文件夹中,而不是用户配置文件的根目录):
<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v11.0; AttachDbFilename=|DataDirectory|\ContosoUniversity2;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
您必须Initial Catalog在部署时使用.生产connectionString在Web.Release.Config中单独设置,以便可行. …
我正在按照本教程创建一个代码优先数据库.
安装EF并创建第一个基本类后,它说:
运行您的应用程序,您将看到为您创建了MigrationsCodeDemo.BlogContext数据库.
好吧,我安装了所有SQL Server的VS2013 Pro(完全安装VS2013 Pro).
现在您可以从下图中看到,在教程建议后运行程序后找不到我的数据库.当我尝试进行本教程的迁移时,我确实得到了它应该得到的错误,这意味着实际上已经创建了数据库.我只是找不到它.
它在哪里?

编辑:添加了App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我在集成测试环境中使用LocalDb - 在我的测试运行之前和之后实例化和处理我的实例.
但是,当我在我的实例中创建数据库时,它仍然将我的表和数据刷新到磁盘.是否可以在"内存"模式下运行LocalDb?如果是这样怎么样?
我有一个大的SQL脚本(1gb),我试图在一个(localdb)\v11.0实例上运行,SqlCmd在命令行窗口中使用,但到目前为止,我尝试过的任何命令都没有使用它.
例如
sqlcmd.exe -S "(localdb)\v11.0" -Q "select 1"
Run Code Online (Sandbox Code Playgroud)
失败并出现通用连接错误:
建立与SQL Server的连接时发生了与网络相关或特定于实例的错误.找不到服务器或无法访问服务器.检查实例名称是否正确以及SQL Server是否配置为允许远程连接.
然而
sqlcmd.exe -S "MY-PC" -Q "select 1"
Run Code Online (Sandbox Code Playgroud)
我的电脑上的SQL Server实例很好用.
在(localdb)实例上"允许远程连接"设置为true,而我运行的用户sqlcmd是它的所有者.
Sqlcmd实际上是否适用于(localdb)实例?还有其他明显的事情我可能做错了吗?
localdb ×10
sql-server ×3
c# ×2
asp.net-mvc ×1
dbcontext ×1
iis-7.5 ×1
nhibernate ×1
reset ×1
sqlcmd ×1