- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个旧的 DTS 包,我们的 SQL 2000 Server 使用它来将员工记录推送到我们制造车间的机器上。
最近,我们升级了其中一台机器,它现在正在运行 SQL 2008 Express。
我们已重新配置 DTS 包以将员工记录推送到这个新服务器,但现在我们收到此错误消息:
FETCH_EMPLOYEES:
The statement has been terminated. Cannot insert duplicate key row in object 'dbo.Users' with unique index 'IX_tblUsers_OpID'.
如果我远程进入我们的 SQL 2000 Server,我可以右键单击以连续执行 DTS 包的每个步骤而不会出现错误。
所以,我登录到这台机器的 SQL 2008 Express 实例上,看看我是否能解决任何问题。
现在我正在查看 FETCH_EMPLOYEES 存储过程:
PROCEDURE [dbo].[FETCH_EMPLOYEES] AS
DECLARE @OpID varchar(255)
DECLARE @Password varchar(50)
DECLARE Employee_Cursor CURSOR FOR
SELECT OpID, Password
FROM dbo.vw_Employees
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor
INTO @OpID,@Password
WHILE @@FETCH_STATUS = 0
BEGIN
insert into dbo.Users (OpID,Password,GroupID)
VALUES (@OpID,@Password,'GROUP01')
FETCH NEXT FROM Employee_Cursor
INTO @OpID,@Password
END
CLOSE Employee_Cursor
DEALLOCATE Employee_Cursor
我不太了解 Cursors,但我可以看出数据是从名为 vw_Employees
的 View 中提取并插入到表 dbo.Users
中的。
vw_Employees
View 很简单:
SELECT DISTINCT FirstName + ' ' + LastName AS OpID, Num AS Password
FROM dbo.EmployeeInfo
WHERE (Num IS NOT NULL) AND (FirstName IS NOT NULL)
AND (LastName IS NOT NULL) AND (Train IS NULL OR Train <> 'EX')
所以,现在看来问题一定出在表 dbo.Users
上。
我没有看到任何特别注意的地方,所以我使用 CREATE TO Query Editor
编写了这个表,并得到了我不太理解的信息:
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[OpID] [nvarchar](255) NOT NULL,
[Password] [nvarchar](50) NOT NULL,
[GroupID] [nvarchar](10) NOT NULL,
[IsLocked] [bit] NOT NULL,
CONSTRAINT [PK_tblUsers] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Users] WITH CHECK ADD CONSTRAINT [FK_tblUsers_tblGroups] FOREIGN KEY([GroupID])
REFERENCES [dbo].[Groups] ([GroupID])
GO
ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_tblUsers_tblGroups]
GO
ALTER TABLE [dbo].[Users] ADD CONSTRAINT [DF_tblUsers_IsLocked] DEFAULT ((0)) FOR [IsLocked]
GO
好吧,我觉得问题出在这个表定义的某个地方,但我真的不明白它在做什么(在创建基本表之后)。
它有一个包含很多我不理解的变量的 CONSTRAINT 部分,然后它正在更改这些表以添加 FOREIGN KEY 和 CONSTRAINTS。
我的问题:有人能帮我理解错误告诉我的是什么(除了一些重复的 key 违规)。
哪个列可能引发重复键违规?
我是否提供了足够的数据和屏幕截图?
更新:
根据评论,听起来需要此屏幕截图。
在 Users 表中,有一个索引列表,一个名为 IX_tblUsers_OpID
的索引表示它是唯一且非聚集的。
我认为我们已经通过使用此脚本找到所有重复的 Op_ID
值来消除源数据表 EmployeeInfo
中的重复值:
select num as 'Op_ID', count(num) as 'Occurrences'
from employeeInfo
group by num
having 1<count(num);
这应该已经摆脱了我所有的重复。对吧?
我们购买的制造机器配备了用于存储本地数据的 PC。他们提供了我发布的这些脚本,所以我无法评论他们为什么选择他们所做的事情。我们只是运行一个将数据拉到我们服务器上的作业。
最佳答案
拥有具有唯一值的列在任何数据集上始终具有很高的值(value)。此约束可以添加到任何列或索引。
您收到的错误非常明确且非常具体。它从字面上给出了答案。
The statement has been terminated. Cannot insert duplicate key row in object 'dbo.Users' with unique index 'IX_tblUsers_OpID'.
它说“没有重复......唯一索引......”然后它告诉你约束的名称“IX_tblUsers_OpID”。
现在请牢记这一点,您正在尝试通过连接两个字符串在该列中插入您动态创建的值;姓名,加上姓氏。
想出其中两个是“John Smith”的机会有多大?高,非常高!
可能的解决方案:
关于sql-server - DTS 包因重复键行而终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234296/
我正在尝试为我的 typescript 项目生成一个 typescript 定义文件,其中包含几个基/继承类、实用程序等。在我们的项目中,每个 A.ts 文件将被编译为 A.js 文件,A.js .m
当我想用 ffmpeg 连接和录制两个 mp4 视频时,我遇到了这个问题。我得到的输出是: [concat @ 0x2566e80] DTS 4079 #0:0 (h264 (native) ->
环境:Windows7,ffmpeg 4.2.2 copy the first 10 seconds from long.mp4 to UNO.mp4 copy sec 120 to sec 130
我有 2 个 ffmpeg 实例,它们正在通过一个用 C 编写的缓冲区。 ffmpeg 实例之一是创建 FLV 输出并将其发送到连接到 C 程序的 TCP 套接字。 C 正在填充一个数组,然后将数据包
我只是想从缓冲区中保存相同的视频帧,在那里我正确保存了帧的位图帧和时间戳。 writer1 = new VideoFileWriter(); this.writer1.Width = this.vid
观察 - 第一部分 - I 我在其他地方看到了运行以下命令的建议,以查看我的 .mp4 是否有问题。 ffmpeg -v error -i ~/Desktop/5_minute_sync_outpu
当通过断开连接的编辑查看 DTS 包时,转换数据任务中的目标列或源列具有 DataType 属性,其值类似于 129、130、131、135。 我在哪里可以找到这些值的含义列表? 最佳答案 我认为是
我们有一个旧的 DTS 包,我们的 SQL 2000 Server 使用它来将员工记录推送到我们制造车间的机器上。 最近,我们升级了其中一台机器,它现在正在运行 SQL 2008 Express。 我
在我正在进行的一个遗留项目中,我们有几个通过 DTS 执行的处理。 DTS 并不是我在其鼎盛时期经常使用的东西……我当时还在上大学。 更具体地说,这些过程位于 ActiveX 代码块中——基本上是用于
是否可以通过删除非单调 DTS 帧将 .ts 文件流式复制到另一个 .ts 文件?这些帧的分辨率通常也比我要复制的视频小。我尝试使用 VideoReDo 进行此操作,但没有成功,我似乎无法使其正常工作
我有几个文件需要合并。有时文件似乎可以毫无问题地工作和连接。然后在其他文件上,文件不会合并,我得到“非单调 DTS”。我一直在谷歌搜索我应该在这些文件上做些什么,以便它们正确连接,但我仍然没有找到。
我正在尝试在 Visual Basic 2010 中执行带有脚本组件的 SSIS 包。执行包时出现以下错误: public void Main() { // TODO:
我正在编译 OpenWrt(基于 Linux 的无线路由器),我在 OpenWrt 源代码中添加了一个板子,我的板子有两个 uart 端口,我可以声明并启用两个 uart 端口,这两个 uart 端口
我做了 ffmpeg -i x.mp4 -ss 17 two.mp4 现在我试着做 ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4 与
我有一些视频,我试图用 ffmpeg 连接它们,它们都可以自己正常工作,但试图用这个命令连接它们: ffmpeg -f concat -safe 0 -fflags flush_packets -ff
我有一个视频,其中包含超出视频数据末尾的一些音频数据包: $> ffprobe -show_packets video.mp4 ... ... ... [PACKET] codec_type=vide
我有三个视频,我想将它们连接在一起这个问题对于某些视频来说效果很好,但是当我测试一个特定的视频时,它给了我一个错误,并导致生成的视频以一种奇怪的方式显示,并且视频中的一切都进展得非常快就像我转发视频一
Bootloaders like U-Boot that do not implement the Open Firmware API, are expected to pass to the ker
我试图从 DTS 文件中理解以下代码段。 /dts-v1/; / { model = "MPC8313ERDB"; compatible = "MPC8313ERDB", "MPC83
我需要找到一个包含特定表名的 DTS 包。有 200 多个 DTS 包,每个包中都有多个对象。 My_Prod 是表名。是否有 T-SQL 命令来查找引用此表名的所有 DTS 包? 最佳答案 正如埃里
我是一名优秀的程序员,十分优秀!