问题标签 [identity-insert]

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 投票
1 回答
640 浏览

sql-server - 在没有 identity_insert ON 的关系表中插入数据

我有一个场景,我必须使用脚本将一些主数据插入到表中,以便我们可以在部署时在生产服务器上使用这个脚本。

我的桌子是

现在我在excel中有一些用于类别和类别类型的行数据。我必须生成数据脚本(一组插入语句)。

我做了什么

我只想知道有什么办法可以避免 identity_insert ON/OFF 的事情。

0 投票
2 回答
978 浏览

sql - 在生产 sql server 中打开 Identity_Insert 有什么缺点吗

我进行单元测试将数据记录添加/插入到具有列名 Id 的表中,这是一个标识列。

在单元测试中,我手动插入了 id。所以我可以在 Insert 语句之前将 Identiy_Insert 设置为 ON。

为生产服务器启用此功能是否有任何缺点?

或者我应该改变我的单元测试方法吗?为 Name 字段插入一个值并检索

并且断言应该足以证明数据记录已插入以进行集成

清酒。

0 投票
1 回答
3031 浏览

sql - 无法批量设置 IDENTITY_INSERT

案子

目前我正在研究数据库种子脚本,使用sqlcmd. 例如这个脚本示例:

问题

但是,如果我sqlcmd在 SQL Server Management Studio 中使用模式执行它,则会出现以下错误:

消息 102,级别 15,状态 1,第 5 行 'ON' 附近的语法不正确。

消息 102,级别 15,状态 1,第 10 行 'END' 附近的语法不正确。

谷歌了一些,但无法弄清楚我做错了什么。如果没有 IF/BEGIN/END 如果确实有效,但我喜欢先执行检查。

问题:

  • 有什么我做错了吗?
  • 如果不可能,有任何可用的解决方法吗?

提前致谢!!

0 投票
8 回答
111341 浏览

sql - 如何检查 SQL Server 中的 IDENTITY_INSERT 是否设置为 ON 或 OFF?

我已经搜索过这个,但出现它的线程往往会从不理解这个问题的人那里得到答案。

采用以下语法:

你如何做更多这样的事情:

我不想对数据库中的数据或设置做任何事情来获取这些信息。谢谢!

0 投票
2 回答
8938 浏览

sql-server-2008 - SQL Server 使用标识插入生成脚本

生成数据库脚本时,我正在编写要迁移到不同环境的数据脚本。脚本生成中是否有一个设置可以启用以自动打开/关闭 IDENTITY_INSERT,这样我就不必在生成的脚本中手动浏览每个表并进行设置?我正在使用 SSMS,我想通过 SSMS 执行此操作。

这是我得到的:

这就是我想要的:

0 投票
1 回答
3199 浏览

hibernate - Hibernate 3.5 与 4 IDENTITY_INSERT 问题

我们运行 Spring 3.1/Hibernate 4/Java 7/Tomcat 7/MSSQL 2008 R2 Web 应用程序。我们必须处理遗留数据和存档数据。从存档中提取数据时,我们需要使用原始的唯一标识符,以便其他(非存档)记录正确地重新水合。这些标识符存储在主键/自动增量字段中。

在此之前,当我们使用 Spring 3.0/Hibernate 3.5 时,以下代码可以将提取的记录插入到相应的表中(我们已经有变量session,entityfullTableName在范围内):

就像我提到的,这在 Hibernate 3.5 中一切正常,但现在我们已经升级到 Hibernate 4,它已经停止工作了。Work和IsolatedWork之间有什么区别吗?

为了解决问题并避免任何工作界面问题,我们尝试了以下方法:

但是,这也不起作用。具体来说,抛出的异常是java.sql.SQLException: Cannot insert explicit value for identity column in table 'Employee' when IDENTITY_INSERT is set to OFF.然而,应该清楚的是,我们正在努力将其设置为 ON。

我们对这种情况进行了 SQL Server Profiler 跟踪,并发现了一些有趣的东西。在我们的每个交易主体中都设置了 IMPLICIT_TRANSACTIONS ON。以下是 Profiler 跟踪的一些示例输出(我已将我们的实际模式替换为<schema>,以及一些带有较短标签的大数据位):

现在,我们通过事务中的 Connection.setAutoCommit(false) 专门将 IMPLICIT_TRANSACTIONS 设置为 OFF(通过 Spring @Transactional 和 Hibernate Transaction Manager 管理事务)。显然,这是行不通的,但是除了使用 setAutoCommit 之外还有什么替代方法,为什么它可以在 Spring3.0/Hibernate 3.5 中工作而不是 Spring 3.1/Hibernate 4?

感谢您的任何想法或建议 - 我们很难过。

0 投票
5 回答
5700 浏览

nhibernate - NHibernate - 插入与 identity_insert ON

我有一个问题,我试图将实体重新插入到我的数据库中。用以下单元测试说明:

我的映射很简单:

据我所知,问题是 NHibernate 生成器仍然以某种方式从 SQL 调用身份生成,即使我已将其关闭。有没有办法解决?

编辑:我最初在设置 IDENTITY_INSERT 时忘记执行“UniqueResult()”,但这似乎不是错误的根源。仍然得到相同的结果

0 投票
2 回答
2827 浏览

asp.net - EF:当 IDENTITY_INSERT 设置为 OFF 时,无法在表“组”中插入标识列的显式值

是的,这些问题中的另一个。我看过这里但无济于事..
这是我的情况。
我创建了一个 ASP 站点,最初使用的是 SQLce。事实证明这很糟糕,因为主持人不支持它。我通过 Web Matrix 方法将 sdf 文件转换为 SQL server 2012 db。数据库一切正常,一切都可以读取数据。当我尝试将任何内容写入表格时,问题就出现了。VS 出现说:
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“组”中插入标识列的显式值。
现在..以前一切都很顺利。这是我建立的一个故事的例子:

然后。它阻塞的代码在哪里:

它在 savechanges() 上死掉了。
我的问题是我该如何解决这个问题?(我看到了 IDENTITY_INSERT ON 的东西,但是当你只创建表时不是吗?).. 或者,不是使用和自动递增 ID,还有什么方法?

0 投票
1 回答
574 浏览

asp.net-mvc - 带有标识列的 EF Code First 父子插入 (HELP)

这对我来说很奇怪。我有两个实体。销售状态(父母)和销售(儿童)。

我有一个错误。实体框架尝试插入具有 PK 值的新记录。“无法为表中的标识列插入显式值”

但是当我将 EntityState 更改为 EntityState.Detached 或 EntityState.Unchanged 时。子实体(销售)单独成功插入。(没有销售状态)

我一直很困惑。

我在下面找到了一些案例。但这对我的情况不起作用。 带有标识列的 EF Code First 父子插入

我使用 dotnet 框架 4.0 / 实体框架 4.1

0 投票
1 回答
651 浏览

c# - EF 代码优先和身份插入 - 一次身份插入开启,其余时间关闭

我有一个应用程序,其中大部分都有一个简单的用户表。PK,UserID,是一个 Guid。我首先使用 EF 代码,以下代码一切正常:

但是,在我的应用程序中,我实际上想强制使用 Guid。这是一种特殊情况,在这个代码块之外,其他任何地方都应该按预期从数据库中生成 Guid。

我知道在我编写的 Initializer 中的 Seed 函数中,我可以很好地插入 ID。如何重现这些条件,以便在这种极端情况下插入标识值?