我在 SSIS 包上收到以下错误:
[执行 SQL 任务] 错误:执行查询“EXEC [spGetFileId] @zFileName,@Id”失败并出现以下错误:“分配给变量“User::FileId”的值的类型与当前变量类型不同。变量在执行过程中不能改变类型。变量类型是严格的,Object 类型的变量除外。
我创建了一个执行 SQL 任务,它在 SQL 服务器上执行一个简单的存储过程:
CREATE PROCEDURE [dbo].[spGetFileId]
@zFileName VARCHAR(255),
@Id INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT @Id = [Id]
FROM [tblFileLog]
WHERE [zFileName] = @zFileName
END
Run Code Online (Sandbox Code Playgroud)
任务的SQLStatement属性是:
EXEC [spGetFileId] @zFileName, @Id
Run Code Online (Sandbox Code Playgroud)
我有以下SSIS 变量:
- 用户::文件(字符串)
- 用户::文件 ID (Int)
并将参数映射到 SQL 任务上,如下所示:
- 变量 | 方向 | 类型 | 范围
- 用户::文件| 输入 | 字符串 | @z文件名
- 用户::文件 ID | 输出 | 整数32 …
我们的一台服务器上的数据库中有许多视图。我需要将所有视图定义保存为以下格式的文本文件:
IF OBJECT_ID('<[Schema_Name].[VIEW_NAME]>') IS NOT NULL
DROP VIEW <[Schema_Name].[VIEW_NAME]>
GO
<<View Definition Here>>
GO
GRANT SELECT ON <[Schema_Name].[VIEW_NAME]> TO [PUBLIC]
GO
Run Code Online (Sandbox Code Playgroud)
文本文件应命名为Schema_Name.VIEW_NAME.txt
我不想手动执行此操作,因为这会占用我所有的时间。知道这是否可以自动化吗?也许使用SSIS之类的?
我正在尝试学习 SSIS 并遇到了这个问题,我想添加 OLE 目标和源。
我的 SSIS 工具箱缺少很多东西,当我右键单击时,我没有选择项目选项(显示在屏幕截图的底部)
如果我转到普通工具箱菜单并右键单击并选择项目,则选择项目对话框没有添加 SSIS 项目的选项。怎么了?你能帮忙吗?
我很难使用条件拆分。
我有两个条件:
Order | Output name | Condition
1 | Status column completed |(Status) == "Completed"
2 |Default | (Status) == "Completed" && (Status) == "Incomplete"
在我的第一个订单中,在 status 列中,所有已完成的状态都将出现在我的临时表中,而在我的第二个订单中,无论状态是已完成还是未完成,它都会进入另一个用作我的原始表的表。截至目前,使用该条件我的第二个订单不起作用。所有完成状态是唯一进入正确表的状态。请帮忙,谢谢。
我是 SSIS 的新手,我收到一条错误消息。谁能帮我 ?我的数据中没有重复项
错误消息是 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80040E2F 描述:“违反 PRIMARY KEY 约束 'PK_DimCourse'。无法在对象 'dbo.DimCourse' 中插入重复键。重复键值为 (CS1301)。”。
我当前的表看起来像这样
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DimCourse](
[CourseCode] [nvarchar](10) NOT NULL,
[SubjectCode] [nvarchar](10) NOT NULL,
[CourseNumber] [nvarchar](10) NOT NULL,
[CourseTitle] [nvarchar](50) NOT NULL,
[Level1] [nvarchar](20) NOT NULL,
[Level2] [nvarchar](20) NOT NULL,
CONSTRAINT [PK_DimCourse] PRIMARY KEY CLUSTERED
(
[CourseCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS …Run Code Online (Sandbox Code Playgroud) 我有一个从源数据库提取到目标SQL Server表的SSIS包.
我想添加相同数据的第二个目标,以导出到Excel文件中.这是可能的还是我需要为此创建第二个流程?
我需要将多个文件加载到 SQL 表中。我有三种不同的格式,CSV、XLSX 和 XLS,但我将一次加载一种类型的文件,而不是不同文件类型的组合。
首先,如果文件存在与否,我将检查我的源文件夹。如果存在,将其加载到表中并移动到下一个文件。文件检查和选择过程必须是动态的。我不想在变量中硬编码文件名。当包启动时,每次运行包时,我都需要文件名变量来保存文件夹中的第一个文件。
如果在文件夹中找不到该文件,请发送邮件提醒该文件不存在。
例如,如果我的文件夹中有三个文件,
File1.csv
File2.csv
File3.csv
Run Code Online (Sandbox Code Playgroud)
我运行我的包,并variable = File1.csv在第一次运行时对文件名进行硬编码。我的包成功执行并将 file1 加载到表中并将其存档到存档文件夹。
下次运行每个循环时,它会查找变量 filename = File1,但它已经存档,因此我的包将无法处理文件夹中的 file2。我怎样才能正确地做到这一点?
Kingwaysoft中是否存在一些元数据字段返回的错误null?我有一个大型项目,正在下载所有帐户字段和元数据,除了owneridtype其他几个以外,它们都可以工作。像这样的字段customertypecodename都很好,并且我已经验证了它owneridtype与所有其他字段的映射相同。我的来源是fetchxml查询。
我看到这些帐户字段以及实体regardingobjecttypecode上的问题activitypointer:
owneridtype
donotsendmarketingmaterialname
isprivatename
masteraccountidname
owneridtype
这是我的查询,减去自定义字段。如果需要,我可以添加它们。
<fetch mapping='logical'>
<entity name='account'>
<attribute name='accountcategorycode'/>
<attribute name='accountcategorycodename'/>
<attribute name='accountclassificationcode'/>
<attribute name='accountclassificationcodename'/>
<attribute name='accountid'/>
<attribute name='accountnumber'/>
<attribute name='accountratingcode'/>
<attribute name='accountratingcodename'/>
<attribute name='address1_addressid'/>
<attribute name='address1_addresstypecode'/>
<attribute name='address1_addresstypecodename'/>
<attribute name='address1_city'/>
<attribute name='address1_composite'/>
<attribute name='address1_country'/>
<attribute name='address1_county'/>
<attribute name='address1_fax'/>
<attribute name='address1_freighttermscode'/>
<attribute name='address1_freighttermscodename'/>
<attribute name='address1_latitude'/>
<attribute name='address1_line1'/>
<attribute name='address1_line2'/>
<attribute name='address1_line3'/>
<attribute name='address1_longitude'/>
<attribute name='address1_name'/>
<attribute name='address1_postalcode'/>
<attribute name='address1_postofficebox'/>
<attribute name='address1_primarycontactname'/>
<attribute name='address1_shippingmethodcode'/> …Run Code Online (Sandbox Code Playgroud) 我在具有SQL Server的Azure中有一个虚拟机,并希望通过SQL Azure虚拟机中的SSIS从本地SQL Server中获取夜间数据。我读到需要为Azure VM SSIS设置VNET才能访问本地SQL Server数据。那是对的吗?如果是这样,需要设置什么?
我知道Azure ExpressRoute是另一种选择,但由于我们每晚没有大量数据要传输,因此考虑到与之相关的高成本,我们认为这可能不是理想的选择。
我在SSIS中使用脚本任务(C#)将所有.txt文件从一个文件夹移动到另一个文件夹.但是,当我执行此操作时,没有任何反应.脚本任务实际上报告成功但文本文件不移动.我正在为所有路径使用变量 - 它们都以2个反斜杠开头,以1个反斜杠结束.
我想要做的就是将所有文本文件从源目标移动到目标文件夹.
我错过了什么?
public void Main()
{
DirectoryInfo di = new DirectoryInfo(Dts.Variables["IN_Folder"].Value.ToString());
string destinationFolder = Dts.Variables["User::IN_Folder_Processing"].Value.ToString();
string sourceFolder = Dts.Variables["User::IN_Folder"].Value.ToString();
FileInfo[] fi = di.GetFiles("*.txt");
String filename = fi[0].Name;
string sourceFileName = filename;
string destinationFile = destinationFolder + sourceFileName;
string sourceFile =sourceFolder + sourceFileName;
if (File.Exists(destinationFile))
File.Delete(destinationFile);
// To move a file or folder to a new location:
System.IO.File.Move(sourceFile, destinationFile);
Dts.TaskResult = (int)ScriptResults.Success;
}
Run Code Online (Sandbox Code Playgroud) ssis ×10
sql-server ×5
sql ×2
azure ×1
c# ×1
dynamics-crm ×1
kingswaysoft ×1
ole ×1
windows ×1