1

我正在编写一个 C# 应用程序来生成一个 SSIS 包。

其中一部分涉及添加数据库连接管理器 - 使用库Microsoft.SqlServer.Dts.Runtime。以下代码行显示了如何做到这一点:

ConnectionManager cm = pkg.Connections.Add("OLEDB");

在上面的代码中,我添加了一个 OLEDB 连接,它创建了一个与提供程序"Native OLEDB\SQL Native Client"的连接。

我不想要这个,我希望有供应商Oracle Provider for OLEDB代替。

以下站点显示了不同的连接管理器类型:

http://msdn.microsoft.com/en-us/library/ms136093.aspx

http://msdn.microsoft.com/en-us/library/ms140203.aspx

但是没有人建议能够使用 Oracle OLEDB Provider,并且第二个链接上指定的 Oracle 类型仅对 SQL 2008 有效。

我是否必须按照此处所述的方式开发自己的自定义管理器?: http: //msdn.microsoft.com/en-us/library/ms403359.aspx

任何帮助,将不胜感激

詹姆士

4

1 回答 1

4

您必须在 OLEDB 连接上设置连接字符串,以告诉它使用类似于以下的 Oracle 提供程序:

Package pkg = new Package();
ConnectionManager manager = pkg.Connections.Add("OLEDB");
manager.ConnectionString = "Data Source=DEVORA.my.OracleDB;User ID=oracleUser;Provider=MSDAORA.1;Persist Security Info=True;";
manager.Name = "OracleDev";

显然,您必须为自己的环境构建一个有效的连接字符串(提示:首先在 SSIS 设计器中构建一个并选择其连接字符串)

这是你要找的吗?让我知道我是否偏离标准,我会尝试适当修改

于 2009-10-20T12:37:17.153 回答