小编bil*_*nkc的帖子

该值违反了列的完整性约束

我试图将数据从Excel文件导入SQL Server数据库.我无法这样做因为我在日志文件中遇到以下错误.请帮忙.日志错误如下: -

[OLE DB Destination [42]]错误:发生了OLE DB错误.错误代码:0x80040E21.OLE DB记录可用.来源:"Microsoft SQL Native Client"Hresult:0x80040E21说明:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有工作.".

[OLE DB目标[42]]错误:输入"OLE DB目标输入"(55)的输入列"F2的复制"(5164)出错.返回的列状态为:"该值违反了列的完整性约束.".

[OLE DB目标[42]]错误:"输入"OLE DB目标输入"(55)"失败,因为发生错误代码0xC020907D,并且"输入"OLE DB目标输入"(55)"上的错误行处置指定失败出错了.指定组件的指定对象发生错误.

[DTS.Pipeline]错误:组件"OLE DB Destination"(42)上的ProcessInput方法失败,错误代码为0xC0209029.标识的组件从ProcessInput方法返回错误.该错误特定于组件,但错误是致命的,将导致数据流任务停止运行.

[DTS.Pipeline]错误:线程"WorkThread0"已退出,错误代码为0xC0209029.

[Excel Source [174]]错误:尝试向数据流任务缓冲区添加行失败,错误代码为0xC0047020.

[DTS.Pipeline]错误:组件"Excel Source"(174)上的PrimeOutput方法返回错误代码0xC02020C4.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.

ssis

38
推荐指数
4
解决办法
11万
查看次数

什么是临时表?

登台表是仅在数据仓库项目中使用还是在任何SSIS项目中使用?我想知道什么是临时表?谁能给我一些关于如何使用它以及在什么情况下实现它的例子?另外,我可以在使用它时了解最佳做法吗?

ssis etl data-warehouse staging-table

19
推荐指数
1
解决办法
3万
查看次数

在SSIS 2012中动态设置脚本任务代码

在我的应用程序中,动态创建脚本任务.

在SQL Server 2008的SSIS实现中,以下方法工作正常.

    private void SetSourceCode(ScriptTask scriptTask, string code, string codeName)
    {
        string fileName = "ScriptMain.vb";
        string language = "VisualBasic";
        string proj = ".vbproj";

        scriptTask.ScriptLanguage = VSTAScriptLanguages.GetDisplayName(language);

        scriptTask.ScriptingEngine.InitNewScript(language,
        scriptTask.ScriptProjectName, proj);

        scriptTask.ScriptingEngine.ShowDesigner(false);
        scriptTask.ScriptingEngine.AddCodeFile(fileName, code);

        if (!scriptTask.ScriptingEngine.Build())
            throw new Exception("Failed to build vb script code: " + codeName);
        scriptTask.ScriptingEngine.SaveScriptToStorage();
        if (!scriptTask.ScriptingEngine.CloseIDE(false))
        {
            throw new Exception("Unable to close Scripting engine.");
        }
    }
Run Code Online (Sandbox Code Playgroud)

如何将此代码迁移到SQL Server 2012,因为从SQL Server 2012 dll-s(程序集)中删除了以下方法:

  • InitNewScript
  • AddProjectReference
  • AddCodeFile
  • SaveScriptToStorage
  • CloseIDE
  • 建立
  • ShowDesigner

通常,如何在SQL Server 2012中动态设置脚本任务的源代码?

c# migration ssis sql-server-2012

18
推荐指数
1
解决办法
3705
查看次数

参数化OLEDB源查询

我在SSIS中创建一个ETL,我希望我的数据源是限制查询,比如select * from table_name where id='Variable'.这个变量是我定义为User created变量的.

我不明白我的源查询如何与SSIS范围变量进行交互.

目前唯一的选择是

  • 变量表
  • SQL命令
  • 来自变量的SQL命令

我想要的是拥有一个带有变量作为参数的SQL语句

ssis bids

15
推荐指数
2
解决办法
6万
查看次数

GetLastWriteTime返回12/31/1600 7:00:00 PM

我使用以下代码将目录的修改日期时间写入标签

string selectedPath = comboBox1.SelectedItem.ToString();
DateTime lastdate = Directory.GetLastWriteTime(selectedPath);
datemodified.Text = lastdate.ToString();
Run Code Online (Sandbox Code Playgroud)

它返回日期12/31/1600 7:00:00 PM,我不知道从哪里获取该日期.任何人都可以帮助我理解为什么它会返回该日期以及我如何解决它?我正在使用.NET 3.5

c# directory label .net-3.5

14
推荐指数
1
解决办法
7137
查看次数

SQL Server导入向导失败,包含难以理解的消息

我只想将平面文件中的两列导入到新表中.我已经设置了一列"代码",varchar(50)另一列是"描述" nvarchar(max).

导入失败,并显示以下消息:

- Executing (Error)
Messages
Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "Description" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
 (SQL Server Import and Export Wizard)

Error 0xc020902a: Data Flow Task 1: The "output column "Description" (14)" failed because truncation occurred, and the truncation row disposition on "output column "Description" (14)" specifies …
Run Code Online (Sandbox Code Playgroud)

sql-server ssis sql-server-2005

13
推荐指数
1
解决办法
3万
查看次数

DBCC SHRINKFILE的进展

我有一个21 Gb数据库; 其中20 Gb是文件(FileStream),我从表中删除了所有文件但是当我进行备份时,备份文件仍为21 GB.

为了解决这个问题,我成了"释放未使用空间"的理念.

所以我试图缩小我的数据库,如下所示:

USE Db;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE Db
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (Db, 100);
GO
-- Reset the database recovery model.
ALTER DATABASE Db
SET RECOVERY FULL;
GO

SELECT file_id, name
FROM sys.database_files;
GO
DBCC SHRINKFILE (1, TRUNCATEONLY);
Run Code Online (Sandbox Code Playgroud)

如果我在XX分钟后对数据库进行备份,那么备份文件大小为1 Gb,这样我就可以看到已经成功清理了未使用的空间.换句话说,上面的Sql代码工作正常(XX分钟后的数据库是schrunk).


这个问题我需要等待,直到此查询(收缩操作)完成,所以我努力做到以下几点: …

c# sql-server sql-server-2012

13
推荐指数
1
解决办法
1940
查看次数

在SSIS中,是否可以在数据流任务中自动排列项目?

我正在SSIS建立一个项目.虽然该项目的工作正如我希望它的工作(这是重要的,对吧?),其他人却被数据流任务的"丑陋"放置和它们之间的连接线"困扰".

我手动将项目移动到地图上更好的位置,但只能调整连接线.我包含的屏幕截图(我希望你能看到)告诉你现在的情况.

我尝试寻找"自动排列"或类似的东西,在菜单栏中找不到任何内容或右键单击.有没有办法自动安排数据任务项,使它们看起来更好?

如果这有任何区别,我正在使用SSIS 2012.

SSIS数据流任务图的屏幕截图

ssis

12
推荐指数
1
解决办法
1万
查看次数

从变量使用OLE DB Source命令的EzAPI等价物是什么?

TL;博士

什么是使用OLE DB源的EzAPI代码,数据访问模式为"来自变量的SQL命令"并分配变量?

前言

每月一次,我们需要使用生产数据子集刷新公共测试站点.我们已经确定,根据我们的需求,SSIS解决方案最适合完成此任务.

我的目标是系统地构建大量(100+)"复制"包.EzAPISSIS对象模型的友好包装器,它似乎是一种保存鼠标点击的好方法.

我希望我的包装看起来像

  • 变量 - "tableName"; [架构].[表名]
  • 变量 - "sourceQuery"; SELECT*FROM [Schema].[TableName]
  • DataFlow - "Replicate Schema_TableName"
    • OLE DB源 - "Src Schema_TableName"; 数据访问模式:来自变量的SQL命令; 变量名:User::sourceQuery
    • OLE DB目标 - "Dest Schema_TableName"; 表或视图名称变量 - 快速加载; 变量名称 - User :: tableName

这是我的表到表复制包的代码.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.SSIS.EzAPI;
using Microsoft.SqlServer.Dts.Runtime;

namespace EzApiDemo
{
    public class TableToTable : EzSrcDestPackage<EzOleDbSource, EzSqlOleDbCM, EzOleDbDestination, EzSqlOleDbCM>
    {
        public TableToTable(Package p) : base(p) { }

        public static …
Run Code Online (Sandbox Code Playgroud)

c# ssis ezapi

10
推荐指数
1
解决办法
1027
查看次数

GROUP BY和COUNTs未产生预期结果

我正在做一些SQL练习,但我陷入了我将要描述的那个.

有一个名为product的表有3列:maker,model和type.

这是结果 select * from product

在此输入图像描述

该练习说:找出只生产相同类型模型的制造商,这些模型的数量超过1. Deduce:maker,type.

正确的查询应该返回:

在此输入图像描述

我的方法是先看看哪些制造商只生产一种产品,然后排除那些只有一种型号的制造商.为此,我使用了以下查询,它返回正确的结果,除了我只能设法显示制造商,但不是类型和练习要求两者.

这是我的查询:

SELECT
DISTINCT maker
FROM product
GROUP BY maker
HAVING COUNT(distinct type) = 1 
AND
COUNT(model)> 1
Run Code Online (Sandbox Code Playgroud)

它返回:

在此输入图像描述

然后,当我尝试通过这样做来显示类型时:

SELECT
DISTINCT maker,type
FROM product
GROUP BY maker,type
HAVING COUNT(distinct type) = 1 
AND
COUNT(model)> 1
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此输入图像描述

你知道为什么这不能按预期工作吗?你会怎么做才能解决这个问题?我一直试图解决这个问题超过3个小时没有成功.:( 请帮帮我.

sql group-by

10
推荐指数
2
解决办法
7494
查看次数