以编程方式使用连接管理器
适用范围:SQL Server
Azure 数据工厂中的 SSIS Integration Runtime
在 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 |