此调用DacServices.Deploy一直适用于SQL Server LocalDB 2014,但在安装SQL Server LocalDB 2016时失败:
string dacConnectionString = $"Server=(localdb)\\mssqllocaldb; Integrated Security=true; database={DatabaseName}";
var dacServices = new DacServices(dacConnectionString);
dacServices.Message += (sender, args) => Console.WriteLine($"{args.Message.Prefix}: {args.Message.Message}"); // Log dacpac deploy messages
dacServices.Deploy(LoadDacPac(), DatabaseName, true, new DacDeployOptions()
{
BlockOnPossibleDataLoss = false
});
Run Code Online (Sandbox Code Playgroud)
DacServices.DeployLocalDB 2016 抛出的异常是:
Microsoft.SqlServer.Dac.DacServicesException was unhandled by user code
HResult=-2146233088
Message=Could not deploy package.
Source=Microsoft.SqlServer.Dac
StackTrace:
at Microsoft.SqlServer.Dac.DeployOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken)
at Microsoft.SqlServer.Dac.DacServices.InternalDeploy(IPackageSource packageSource, Boolean isDacpac, String targetDatabaseName, DacDeployOptions options, CancellationToken …Run Code Online (Sandbox Code Playgroud) 我们的应用程序使用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
UWP是否支持LocalDB?
我的调查表明使用localdb存在一些问题,我没有使用SQL Server 2017开发版.
我设法将winforms EF-Code First,xaf应用程序转换为在此博客的帮助下作为UWP应用程序运行
我有企业身份验证设置.
当我运行桌面桥应用程序时,它会在里面创建数据库和日志文件
c:\users\kirst
Run Code Online (Sandbox Code Playgroud)
这是我的用户文件夹.
但是我无法在SQL Server对象资源管理器中看到新数据库
单击"刷新"没有帮助.
不使用桌面桥的类似应用程序也将在我的用户目录中创建数据库.在这种情况下,我还可以在SQL Server对象资源管理器(localdb)\ MSSQLLocalDB中看到数据库
在这两种情况下,连接字符串都是这种形式
"Integrated Security=SSPI;MultipleActiveResultSets=True;Data Source=(localdb)\mssqllocaldb;Initial Catalog=mydatabase"
Run Code Online (Sandbox Code Playgroud)
和
providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用Entity Framework 6.2
.Net Framework 4.7.2
UWP目标版本和最低版本1809 Build 17763
我在VS2017 15.9.4 IDE中运行
在c:\ Program files\Microsoft SQL Server中的dos提示符下
dir sqlservr.exe /s shows 2 files
Run Code Online (Sandbox Code Playgroud)
一个人
c:\Program files\Microsoft SQL Server\130\LocalDB\Binn
Run Code Online (Sandbox Code Playgroud)
一个在
c:\Program files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn
Run Code Online (Sandbox Code Playgroud)
当我在程序中查询@@ Version时,我看到了这两种情况
Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)
Oct 28 2016 18:17:30 Copyright (c) …Run Code Online (Sandbox Code Playgroud) xaf entity-framework-6 sql-server-2016-localdb desktop-bridge
SQL Server Express 2016 LocalDb(https://www.microsoft.com/download/details.aspx?id=52679)下载页面的链接不再有效.
我在下载中心左右搜索,也在网上搜索了很多网站,但它不可用.
有人可以说这是撤回还是其他什么?
我对SQL Server了解不多,今天我安装了SQL Server Management Studio 2016并想创建一个本地数据库。在互联网上搜索后找到来自微软的这个链接。在本教程的第 4 步中,当想要注册本地服务器时发现此错误
未找到本地服务器类型“数据库引擎”
女巫部分错了?