问题标签 [sql-server-2014-localdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6767 浏览

c# - 如何以编程方式备份​​ SQL Server 2014 Express Localdb (.mdf) 文件

我有一个简单的 Windows 应用程序,它使用 SQL Server 2014 LocalDB(.mdf文件)。

我希望每当用户单击退出按钮时,我的应用程序会自动将其 localdb 文件 ( .mdf) 备份到用户同一台计算机中的另一个文件夹中。

我在下面写了简单的代码,但是发生了 SQLException 语法错误:

'C:\greendb_angelheart.mdf' 附近的语法不正确

DATABASE ""{0}""语法看起来不错)

我担心localdb使用普通SqlConnection代码连接到特定文件是否正确。

我的简单代码是:

0 投票
1 回答
574 浏览

sql - MVC - 上下文始终使用默认连接字符串

在之前使用过 Web 表单之后,我正在寻找 MVC,并且我一直在 asp.net 上做电影教程,但我遇到了一个完全令人困惑的问题。

我的网络配置中有 2 个连接字符串:

然后我有我的上下文(注意我也尝试在堆栈上的另一个答案之后在这里设置连接字符串,尽管我相信如果上下文名称与连接字符串名称相同,它应该自动完成

无论我做什么,它都使用默认连接字符串而不是 MovieDbContext 连接字符串,对于我的生活,我无法弄清楚为什么。如果我将默认连接字符串的数据源设置为moviedbcontext的数据源,它可以正常工作并连接到正确的数据库,但我无法弄清楚为什么它只会使用默认的数据库(我什至尝试过更改名称连接字符串和上下文无济于事)

任何帮助表示赞赏

干杯

0 投票
3 回答
3636 浏览

c# - C# Sql LocalDB 应用程序性能缓慢

我是全新的 sql/数据库应用程序,正在尝试使用 Visual Studio 2015 C# 的简单联系人管理应用程序。我正在使用“SQL Express LocalDB”。我在谷歌上读到它是为了开发目的,但微软也提到它也可以用于生产目的。

我的问题是,当我从我的开发系统中试用应用程序时,应用程序第一次加载需要几秒钟,但之后每个查询都会快速运行。当我在我的朋友系统上尝试此操作时,每次尝试使用任何查询都需要时间。该数据库只有 20-30 条记录。

我使用“new SqlConnection”创建新连接,然后执行“new SqlCommand”创建的命令,并在执行查询后关闭连接。

这是我的应用程序中的代码片段

问:我应该在应用程序运行时一直保持连接打开吗?我认为这不应该被建议。好像应用程序崩溃数据库可能会损坏。

人们说LocalDB每隔新毫秒关闭连接的背景之一。那么我应该每隔几毫秒就对数据库进行一次 ping 操作吗?或者我根本不应该在生产中使用 localdb?

我想让应用程序对数据库先决条件的要求非常低。像 LocalDB 安装真的是无缝的。

我没有使用 SQL Server Express,Express 安装是否也像 LocalDB 一样无缝,我也可以在 Express 中使用类似 LocalDB 的连接字符串,直接给出 .mdf 文件名吗?

0 投票
0 回答
712 浏览

windows - SQL Native Client 是否附带 SQL Server 2014 LocalDB?

SQL Server Native Client 是否附带 SQL Server 2014 LocalDB?

由于https://msdn.microsoft.com/en-us/library/hh510202.aspxhttps://msdn.microsoft.com/en-us/library/cc280510.aspx尚不清楚...

我们是否单独安装它,如果是,请建议链接。

0 投票
1 回答
1625 浏览

sql - 尝试删除索引时出错

我是 SQL 新手,我正在使用 Microsoft SQL Server 练习一些练习。我创建了这个索引,然后我试图删除索引,但它说它不是一个约束。但是 custID 列显示它是主键。

这就是我所做的:

错误:

消息 3728,级别 16,状态 1,第 26 行
“indexcustInfoID”不是约束。

消息 3727,级别 16,状态 0,第 26 行
无法删除约束。请参阅以前的错误。

请帮我!

0 投票
2 回答
239 浏览

c# - VS 2015 Localdb 错误 26

我试图让附加的程序工作,但我收到错误 26 找不到本地数据库的服务器。这是一个直接的 MSDN 示例。我可以使用 SSMS 2014 打开 localdb,这是 sql express 安装的一部分。同样在 VS 2015 中,我可以使用 (localdb)\mssqllocaldb 创建与 localdb 的数据库连接。EF 是第 6 版(最新使用 NuGet 下载)。我不知道为什么这不起作用。

代码是:

马丁

0 投票
1 回答
6392 浏览

c# - 更改 Visual Studio 2015 的 MSSqlLocalDB 的默认版本

我正在使用 SQL Server 处理 C# 项目。对于开发,我们使用 SQL Server 的 LocalDB 实例。如果数据库中的某些内容发生了变化,我们将.mdf/.ldf文件签入到 TFS。使用 建立连接MSSqlLocalDB

问题

在某些系统上升级后,我们现在使用 VS 2013 和 VS 2015 进行开发。问题开始是因为 VS 2013 默认为 SQL Server 2014 而 VS 2015 对于 LocalDB 实例默认为 SQL Server 2016。

一旦.MDF使用 2016 打开文件,它就与 2014 不兼容。因此,使用 2015 的人无法签入数据库更改。

为了解决这个问题,我在装有 VS 2015 的机器上安装了 2014 版 LocalDB,但无法更改 VS 连接到的默认版本。

谁能帮我??

提前致谢...

0 投票
3 回答
69 浏览

sql-server - 尝试从表中检索列时,我的简单 SQL 语句中出现此错误

这是我的程序:

我使用以下方法运行它:

我的预期结果是:

当我将参数传递给我的存储过程时,它会显示此错误

消息 245,级别 16,状态 1,过程 spasdf,第 40 行将
varchar 值“[”转换为数据类型 int 时转换失败。

有谁知道为什么?

0 投票
0 回答
836 浏览

c# - 使用 SQLCMD 连接到 (localdb) 时如何使用相对路径?

好的,所以我们使用MS LocalDB作为数据库来支持我们应用程序的回归测试。我们有一个相当复杂的架构和发布配置文件,所以我们在 C# 代码中使用“create db on attach”,然后使用 SQLCMD 运行我们的脚本以将数据库升级到当前版本,插入一些测试数据,运行我们的测试,撕掉所有东西下等。通常这工作正常。

我最近注意到,如果 MDF 文件的路径嵌套太深,那么 SQLCMD 会失败并出现“Sqlcmd: '-d': Argument too long (maximum is 128 characters)”错误,这是正确的,因为 -d 参数sqlcmd 是一个数据库名称,它只能是 128 个字符长

“不用担心”我心想,“我只要让它成为一条相对路径,一切都会很棒!”。哦,亲爱的读者,我错了!将 dbname 更改为相对于 sqlcmd 工作目录的路径只会导致 sqlcmd 登录错误:

sqlcmd 使用的命令等价于以下命令:

其中 sqlcmd 工作目录是源目录的父目录。Sqlcmd 是从我们的 C# 代码中运行的,如下所示:

因此,在我们的回归测试中,localDB 已附加在前面:

因此,我可以轻松地在 C# 连接字符串中使用“AttachDbFilename=|DataDirectory|\TestDb.mdf;”的相对路径。我也可以通过将项目重新定位到 C:\ 驱动器的根目录并缩短路径来解决此问题,但这似乎是一个 hacky 解决方法。

有没有办法在 sqlcmd 的参数中使用相对路径,这样我就不必使用绝对路径?我在网上找到的将 sqlcmd 与 localdb 结合使用的每个示例都使用绝对路径,唯一的相对路径位于我们已经使用的 C# 应用程序的连接字符串中。提前致谢。

0 投票
2 回答
4186 浏览

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

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

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

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