我一直在尝试以编程方式创建一个具有MySQL数据源一段时间的SSIS包,并且遇到了如何获取为源ConnectionManager设置的相应ComponentClassID和ConnectionManager类型的问题: / p>
ConnectionManager srcCm = pkg.Connections.Add("ADO.NET"); // <-- HALP!
srcCm.Name = srcConnectionName;
MainPipe dfTask = (MainPipe)dfTaskHost.InnerObject;
// Add the DB Source to the data flow.
IDTSComponentMetaData100 srcComp = dfTask.ComponentMetaDataCollection.New();
srcComp.ComponentClassID = "ADO.NET:MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"; // <-- Wha?
调试时,我收到十六进制错误0xC0048021,根据this page表示“组件丢失,未注册,无法升级或缺少必需的接口。此组件的联系信息为”%1 “”
此时,我已经看到了许多不同的方法来使这个连接器工作,但我似乎没有正确的组合。
非常感谢任何帮助。
谢谢! 富
答案 0 :(得分:0)
Package.Connections.Add("ADO.NET:MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=6.2.5.0, Culture=netral, PublicKeyToken=c5687fc88969c44d");
srcComp.ComponentClassID=typeof(DataReaderSourceAdapter).AssemblyQualifiedName;