Sql Server 2014 SSIS 导入向导 - 如何插入 GUID 值
Sql Server 2014 SSIS Import Wizard - how to insert GUID values
我的 Sql Server 2014 数据库中有许多表,其中包含定义为 GUID 类型的主键。我还有一些 Excel 文件,我需要将它们导入 Sql Sql 服务器。
有没有办法在 SSIS 导入向导期间为每个插入器行生成 GUID?
基于Create a GUID column in SSIS
的解决方案:
您可以在源和目标之间放置 Script Component Transformation
。
创建新列
编辑脚本组件并转到输入和输出选项卡。展开输出 0 并添加一个新列。列类型应为 uniqueidentifier [DT_GUID]
.
脚本代码 (C#)
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
// Create a Globally Unique Identifier with SSIS
Row.Guid = System.Guid.NewGuid();
}
}
我的 Sql Server 2014 数据库中有许多表,其中包含定义为 GUID 类型的主键。我还有一些 Excel 文件,我需要将它们导入 Sql Sql 服务器。 有没有办法在 SSIS 导入向导期间为每个插入器行生成 GUID?
基于Create a GUID column in SSIS
的解决方案:
您可以在源和目标之间放置
Script Component Transformation
。创建新列 编辑脚本组件并转到输入和输出选项卡。展开输出 0 并添加一个新列。列类型应为 uniqueidentifier
[DT_GUID]
.脚本代码 (C#)
using System; using System.Data; using Microsoft.SqlServer.Dts.Pipeline.Wrapper; using Microsoft.SqlServer.Dts.Runtime.Wrapper; [Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] public class ScriptMain : UserComponent { public override void Input0_ProcessInputRow(Input0Buffer Row) { // Create a Globally Unique Identifier with SSIS Row.Guid = System.Guid.NewGuid(); } }