以编程方式使用连接管理器
在 Integration Services 中,关联的连接管理器类的 AcquireConnection 方法是以托管代码方式使用连接管理器时最常调用的方法。编写托管代码时,必须调用 AcquireConnection 方法以使用连接管理器的功能。无论是在脚本任务、脚本组件、自定义对象还是自定义应用程序中编写托管代码,都必须调用此方法。
若要成功调用 AcquireConnection 方法,必须知道以下问题的答案:
哪些连接管理器从 AcquireConnection 方法返回托管对象?
许多连接管理器返回非托管 COM 对象 (System.__ComObject),并且无法轻松地从托管代码中使用这些对象。此类连接管理器的列表包括经常使用的 OLE DB 连接管理器。
对于返回托管对象的那些连接管理器,其 AcquireConnection 方法返回哪些对象?
若要将返回值转换为适当的类型,必须知道 AcquireConnection 方法所返回的对象类型。例如,使用 SqlClient 访问接口时,ADO.NET 连接管理器的 AcquireConnection 方法返回打开的 SqlConnection 对象。但是,文件连接管理器的 AcquireConnection 方法仅返回字符串。
本主题回答 Integration Services 中包含的连接管理器的这些问题。
不返回托管代码的连接管理器
下表列出了从 AcquireConnection 方法返回本机 COM 对象 (System.__ComObject) 的连接管理器。无法轻松地从托管代码中使用这些非托管代码。
连接管理器类型 |
连接管理器名称 |
---|---|
ADO |
ADO 连接管理器 |
MSOLAP90 |
Analysis Services 连接管理器 |
EXCEL |
Excel 连接管理器 |
FTP |
FTP 连接管理器 |
HTTP |
HTTP 连接管理器 |
ODBC |
ODBC 连接管理器 |
OLEDB |
OLE DB 连接管理器 |
通常,可以从托管代码使用 ADO.NET 连接管理器连接 ADO、Excel、ODBC 或 OLE DB 数据源。
从 AcquireConnection 方法返回值
下表列出了从 AcquireConnection 方法返回托管对象的连接管理器。可以轻松地从托管代码中使用这些托管代码。
连接管理器类型 |
连接管理器名称 |
返回值的类型 |
其他信息 |
---|---|---|---|
ADO.NET |
ADO.NET 连接管理器 |
System.Data.SqlClient.SqlConnection |
|
FILE |
文件连接管理器 |
System.String |
文件的路径。 |
FLATFILE |
平面文件连接管理器 |
System.String |
文件的路径。 |
MSMQ |
MSMQ 连接管理器 |
System.Messaging.MessageQueue |
|
MULTIFILE |
多文件连接管理器 |
System.String |
其中一个文件的路径。 |
MULTIFLATFILE |
多平面文件连接管理器 |
System.String |
其中一个文件的路径。 |
SMOServer |
SMO 连接管理器 |
Microsoft.SqlServer.Management.Smo.Server |
|
SMTP |
SMTP 连接管理器 |
System.String |
例如:SmtpServer=<server name>;UseWindowsAuthentication=True;EnableSsl=False; |
WMI |
WMI 连接管理器 |
System.Management.ManagementScope |
|
SQLMOBILE |
SQL Server Compact 连接管理器 |
System.Data.SqlServerCe.SqlCeConnection |
|