使用 SSIS 2016 数据流并使用最新的 IBM.Data.DB2.iSeries .net 连接器插入 DB2 表。我能够预览数据,SSIS 从 DB2 表中抓取列并知道类型。
表是使用以下方法创建的:
create table MyLib.ADOTEST(Col1 integer)
我可以预览表格中的数据(我手动添加了一些记录)
我的数据流很简单,脚本源输出 1 行和 1 个 INT 列
public override void CreateNewOutputRows()
{
Output0Buffer.AddRow();
Output0Buffer.test = 100;
}
我不知道如何从这里继续前进,我已经尝试了我能想到的一切。很高兴包含任何其他信息。我觉得有一个简单的解决方法,我只需要一个关于其他东西的建议,请随便看看。
当我使用以下代码从脚本任务运行插入时,它确实有效:
using IBM.Data.DB2.iSeries;
public void Main()
{
// define the conn
iDB2Connection conn = new iDB2Connection("DataSource=MYAS400SERVER;UserID=MYUSERID; Password=myp@ssw0rd;Database=DB2RDBS;DefaultIsolationLevel=Chaos;Enlist=False;");
// create a cmd
iDB2Command cmd = conn.CreateCommand();
// set command type
cmd.CommandType = CommandType.Text;
// set command text
cmd.CommandText = "insert into mylibrary.adotest values(88)";
// open db2 connection
conn.Open();
// run the insert
cmd.ExecuteNonQuery();
Dts.TaskResult = (int)ScriptResults.Success;
}
另请注意,同样的连接适用于从该表中选择数据。